每组数据由5个自然数组成,一共500组,想统计出,有3个数字相同的数据的组数,请问如何实现。所有数据都是100以内的自然数。
我现在用sum(countif 只能做出每两组数之间的相同数字的个数。
谢谢各位
我想要找的是只有3个数字相同的两组数,行1和行2的数列有4个数字相同,所以不要。我现在的做法是,先用行1分别和下面三组比较,用的公式是f2=sum(countif(a2:e2,a$1:e$1)),然后行2再和行3.4比较记作g,最后比较行3和行4,记作h
0 a b c d e f g h
1 1 2 3 4 5
2 2 3 4 5 6 4
3 3 4 5 6 7 3 4
4 4 5 6 7 8 2 3 4
F3和G4=3,所以是2次
比过一次符合条件的行就不再用了吗?
比如5行
1 2 3 4 5
1 2 3 6 7
3 6 7 8 9
6 7 8 1 4
1/2 2/3 2/4 3/4 都符合条件,那么这样算几次?
12345
12367 3
36789 1 3
67814 2 3 3
还是按照之前的公式 4次
可以用vba自定义一个函数.
按住alt依次按f11,i,m
粘贴下面的代码.
假设你要求的数据在a1:e500
=x(a1:e500,3) ps:如果是4个相同,公式中的3改4即可.
Function x(a As Range, b As Integer)
arr = a.Value
u1 = UBound(arr)
u2 = UBound(arr, 2)
For r = 1 To u1 - 1
For i = r + 1 To u1
t = 0
For c = 1 To u2
For j = 1 To u2
If arr(r, c) = arr(i, j) Then t = t + 1
Next
Next
If t = b Then x = x + 1
Next
Next
End Function