Public Function Compare(r1 As Range, r2 As Range) As Long
Dim r As Range, v As Variant, v2 As Variant
Dim rr As Range
For Each r In r1
v = r.Value
If v <> 0 And v <> "" Then
For Each rr In r2
v2 = rr.Value
If v = v2 Then Compare = Compare + 1
Next rr
End If
Next r
End Function此UDF比较两个范围并返回匹配值的数目。我想比较三个范围,以找出有多少值出现在所有三个范围同时。
非常感谢你的帮助。
发布于 2016-02-08 20:00:45
以下是非vba解决方案的替代方案。
考虑这样的数据布局:

在单元格中,E2是这样的公式:
=SUMPRODUCT(--(COUNTIF(B2:B16,A2:A23)>0),--(COUNTIF(C2:C19,A2:A23)>0))为了清晰起见,我高亮显示了所有三列中都有匹配的单元格。在A列中总共有8个单元格具有B和C列中的重复项,请注意,这将在A列中计算重复值(但您的UDF也是如此)。
https://stackoverflow.com/questions/35276789
复制相似问题