求助EXCEL高手怎样用公式计算出一行数字的AC值

发布网友 发布时间:2022-04-24 08:59

我来回答

4个回答

热心网友 时间:2022-06-18 07:21

是这样吗?

示例

热心网友 时间:2022-06-18 07:21

亲,你这么复杂的要求,公式是很难做出来了,除非用一大块辅助区域……
一定要用公式么?VBA能接受不?做一个自定义函数。追答

代码如下:

 

Function AC(rng As Range) As Integer
Dim d, k
Set d = CreateObject("Scripting.Dictionary")
Dim rg As Range
Dim i, n As Integer
n = 1
For Each rg In rng
    If n < rng.Count Then
        For i = 1 To rng.Count - n
            d(rg.Offset(0, i).Value - rg.Value) = d(rg.Offset(0, i).Value - rg.Value) + 1
        Next
    End If
    n = n + 1
Next
n = 0
For Each k In d.keys
    If d(k) > 1 Then n = n + 1
Next
If n > 0 Then n = 1
AC = d.Count - rng.Count + n
Set d = Nothing
End Function

追问谢谢你的回答,我的WPS里面没有VB,做不了,我已经找到答案了。

热心网友 时间:2022-06-18 07:21

记号,等下处理。

热心网友 时间:2022-06-18 07:22

需要很多的辅助列

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com