如何在同一行中获取匹配值的计数?我有一个类似于下面的设置,由于第一和第三行的匹配,我希望得到2的答案
A | B
-------
a | a
b | k
c | c
d | z
e | i
我希望用一个公式来做这个并尝试
=COUNTIF(A1:A5,B1:B5)
但这并没有给我正确答案
答案 0 :(得分:3)
使用此公式:
=SUMPRODUCT(--(A1:A5=B1:B5))
答案 1 :(得分:1)
@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
:
从documentation:SUMPRODUCT
"将给定数组中的相应组件相乘,并返回这些产品的总和。"如果给它一个数组作为参数,它将简单地对数组的元素求和。这就是我们在这里做的事情。结果是2
。或者,我们可以使用SUM
函数,但是对于数组,SUM
函数将需要使用CTRL + SHIFT + ENTER。 SUMPRODUCT
处理没有额外步骤的数组。