vba统计一组数据在另一组数据中的个数
能不能用vba编写一个程序ABCDEGHIJKM125910257891391011137910125910在25789出现了3个,m1为3(即有3个数相同)139101...
能不能用vba编写一个程序
A B C D E G H I J K M
1 2 5 9 10 2 5 7 8 9
1 3 9 10 11
1 3 7 9 10
1 2 5 9 10在2 5 7 8 9出现了3个,m1为3(即有3个数相同)
1 3 9 10 11在2 5 7 8 9出现了1个,m2为1
1 3 7 9 10在2 5 7 8 9出现了2个,m3为2 展开
A B C D E G H I J K M
1 2 5 9 10 2 5 7 8 9
1 3 9 10 11
1 3 7 9 10
1 2 5 9 10在2 5 7 8 9出现了3个,m1为3(即有3个数相同)
1 3 9 10 11在2 5 7 8 9出现了1个,m2为1
1 3 7 9 10在2 5 7 8 9出现了2个,m3为2 展开
3个回答
展开全部
一定要用VBA吗其实不用VBA都可以做出来的
M1公式=相同(A1:E1,$G$1:$K$1)
Function 相同(ByVal str1 As Range, ByVal str2 As Range)
Dim rng As Range
Dim rng2 As Range
Dim y As Long
For Each rng In str1
For Each rng2 In str2
If rng = rng2 Then y = y + 1
Next
Next
相同 = y
End Function
或者直接用公式=COUNT(1/(A1:E1=TRANSPOSE($G$1:$K$1)))
M1公式=相同(A1:E1,$G$1:$K$1)
Function 相同(ByVal str1 As Range, ByVal str2 As Range)
Dim rng As Range
Dim rng2 As Range
Dim y As Long
For Each rng In str1
For Each rng2 In str2
If rng = rng2 Then y = y + 1
Next
Next
相同 = y
End Function
或者直接用公式=COUNT(1/(A1:E1=TRANSPOSE($G$1:$K$1)))
追问
数据多,最好vba。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
n = 0
For i = LBound(s1) To UBound(s1)
For j = LBound(s2) To UBound(s2)
If s1(i) = s2(j) Then
n = n + 1
End If
Next j
Next i
MsgBox n
先将数据分别读入S1,S2
For i = LBound(s1) To UBound(s1)
For j = LBound(s2) To UBound(s2)
If s1(i) = s2(j) Then
n = n + 1
End If
Next j
Next i
MsgBox n
先将数据分别读入S1,S2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询