在同一行中匹配值的数量

我怎样才能得到在同一行匹配值的计数? 我有一个类似的设置在下面,我期望得到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)) 。 我们从内部开始逐个检查,并按照我们的方式进行:

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