在同一行中匹配值的数量
我怎样才能得到在同一行匹配值的计数? 我有一个类似的设置在下面,我期望得到2的答案,因为在第一和第三行的匹配
A | B ------- a | a b | k c | c d | z e | i
我正在寻找这样一个单一的公式,并尝试
=COUNTIF(A1:A5,B1:B5)
但是这并没有给我正确的答案
使用这个公式:
=SUMPRODUCT(--(A1:A5=B1:B5))
@TimBiegeleisen和@CallumDA都给出了这个公式作为答案,但是我会给出一些解释以防万一它有用,并且帮助你进行未来的工作:
公式是=SUMPRODUCT(--(A1:A5=B1:B5))
。 我们从内部开始逐个检查,并按照我们的方式进行:
-
A1:A5=B1:B5
:这给你一个布尔值(即TRUE / FALSE)值的数组,表示等式是否满足。 对于您的问题中的数据,它看起来像这样:{TRUE;FALSE;TRUE;FALSE;FALSE}
。 我们有兴趣计算该数组中的TRUE
值的数量。 -
--
:这是一个你会在Excel中看到很多的约定。 将布尔值从TRUE
和FALSE
分别强制为1
和0
是一种方便的方法。 将它应用到上面的数组中给了我们这个数组:{1;0;1;0;0}
。 -
SUMPRODUCT
:从文档 :SUMPRODUCT
“在给定数组中乘以相应的组件,并返回这些产品的总和。 如果你给它一个单一的数组作为参数,它将简单地总结数组的元素。 这就是我们在这里做的。 所以结果是2
。 或者,我们可以使用SUM
函数,但是对于数组,SUM
函数需要使用CTRL + SHIFT + ENTER。SUMPRODUCT
处理数组没有额外的步骤。