同一行中匹配值的计数

时间:2016-12-08 13:59:23

标签: excel excel-formula excel-2010

如何在同一行中获取匹配值的计数?我有一个类似于下面的设置,由于第一和第三行的匹配,我希望得到2的答案

A  |  B
-------    
a  |  a
b  |  k
c  |  c
d  |  z
e  |  i

我希望用一个公式来做这个并尝试

=COUNTIF(A1:A5,B1:B5)

但这并没有给我正确答案

2 个答案:

答案 0 :(得分:3)

使用此公式:

=SUMPRODUCT(--(A1:A5=B1:B5))

答案 1 :(得分:1)

@TimBiegeleisen和@CallumDA都给出了这个公式作为答案,但我会给出一些解释,以防它有用并帮助你完成未来的工作:

公式为=SUMPRODUCT(--(A1:A5=B1:B5))。让我们从内部开始逐步检查它并逐步解决:

  1. A1:A5=B1:B5: 这将为您提供一个布尔值(即,TRUE / FALSE)值数组,指示是否满足相等性。对于您问题中的数据,它看起来像这样:{TRUE;FALSE;TRUE;FALSE;FALSE}。我们对计算该数组中TRUE值的数量感兴趣。
  2. --: 这是一个您在Excel中会看到很多的约定。它是分别从TRUEFALSE强制转换为10的布尔值的便捷方式。将它应用于上面的数组为我们提供了这个数组:{1;0;1;0;0}
  3. SUMPRODUCT: 从documentationSUMPRODUCT"将给定数组中的相应组件相乘,并返回这些产品的总和。"如果给它一个数组作为参数,它将简单地对数组的元素求和。这就是我们在这里做的事情。结果是2。或者,我们可以使用SUM函数,但是对于数组,SUM函数将需要使用CTRL + SHIFT + ENTER。 SUMPRODUCT处理没有额外步骤的数组。