求助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
需要很多的辅助列