只有当字符串也出现在另一列中时,我似乎无法弄清楚如何计算 1 列中的所有值。例如
A 列
Apple
Apple
Pear
Plum
Orange
Orange
Kiwi
B列梨
梅
橙
梅
猕猴桃
A 列的 Countif 公式应返回 5,因为它计算 A 列中除 Apple 以外的每个单元格,因为它不在 B 列中。
只有当字符串也出现在另一列中时,我似乎无法弄清楚如何计算 1 列中的所有值。例如
A 列
Apple
Apple
Pear
Plum
Orange
Orange
Kiwi
B列梨
梅
橙
梅
猕猴桃
A 列的 Countif 公式应返回 5,因为它计算 A 列中除 Apple 以外的每个单元格,因为它不在 B 列中。
我想不出用 来执行此操作的方法COUNTIF
,但是如果您能够在数据中添加另一列,则可以执行以下公式。
=IF(OR(A2=$B$2:$B$6),1,0)
输入公式后一定要按住Ctrl+Shift再按Enter,因为这是一个数组。
A B C
Apple Pear =IF(OR(A2=$B$2:$B$6),1,0)
Apple Plum
Pear Orange
Plum Plum
Orange Kiwi
Orange
Kiwi
然后,您可以针对 A 中的每个值在 C 列下运行此公式。最后,将 C 列中的所有值相加,得到您的预期值 5
- - - 编辑 - - - -
如果您想在不添加额外列的情况下执行此操作,一种选择是添加您自己的自定义函数 (UDF)。打开 VBA 编辑器,在 UDF 所在的位置添加一个模块,然后复制并粘贴以下代码
Function customCount(countRange As Range, searchRange As Range)
Dim count As Integer
count = 0
For Each cell In countRange
If Not searchRange.Find(cell) Is Nothing Then
count = count + 1
End If
Next cell
customCount = count
End Function
这个函数有两个输入;countRange
和searchRange
。countRange
是A列中的所有数据,并且searchRange
是B列(确保只选择数据)
如果您的数据只是上面的数据,那么您将放在 A 列数据下方的公式如下
=customCount(A2:A8,B2:B6)