-1

只有当字符串也出现在另一列中时,我似乎无法弄清楚如何计算 1 列中的所有值。例如

A 列
Apple
Apple
Pear
Plum
Orange
Orange
Kiwi

B列梨



猕猴桃

A 列的 Countif 公式应返回 5,因为它计算 A 列中除 Apple 以外的每个单元格,因为它不在 B 列中。

4

1 回答 1

0

我想不出用 来执行此操作的方法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

这个函数有两个输入;countRangesearchRangecountRange是A列中的所有数据,并且searchRange是B列(确保只选择数据)

如果您的数据只是上面的数据,那么您将放在 A 列数据下方的公式如下

=customCount(A2:A8,B2:B6)

于 2013-09-20T13:30:23.650 回答