EXCEL统计一列数组中包含另一列数组

A1为01,05,12,16,19,22,33 A2为01,05,12,17,18,19,34 A3为02,04,15,17,20,26,34 B1为05,17,19,34 B2为01,05,12,19 B3为04,17,20,26 B4…… 统计A1:A3中分别包含B列数组的次数,如A1包含B2就计为1次,A2包含B1和B2所以计为2次,A3包含B3也只计为1次……求公式?
我复制到VBA里,却显示缺少:语句结束

本题宜借助VBA定义自定义函数来解:

例如定义自定义函数Times

在VBAProject中插入模块,并输入以下VBA代码:

Function BinA(b As Range, A As Range) As Boolean

Dim b1$, a1$, c1$

Dim d As Boolean

b1$ = b.Value & ","

a1$ = A.Value & ","

d = True

Do While InStr(b1$, ",") > 0

  c1$ = Left(b1$, InStr(b1$, ","))

  d = d And InStr(a1$, c1$) > 0

  b1$ = Replace(b1$, c1$, "")

Loop

BinA = d

End Function

Function Times(A As Range) As Integer

Dim rag As Range, b As Integer

b = 0

For Each rag In Range("B1:B" & Range("B65536").End(xlUp).Row)

  If BinA(rag, A) Then b = b + 1

Next

Times = b

End Function

 

 

 

温馨提示:答案为网友推荐,仅供参考
相似回答