计算两个指定列中值相等的行数

计算两个指定列中值相等的行数

我在 MS Excel/LibreOffice Calc/Google Spreadsheets 中有两列数字。我想计算两列中具有相同值的行数。

在以下示例中:

Column A | Column B
   1     |     4
   2     |     2
   3     |     5
   3     |     3
   5     |     3

有两行数字相等:第 2 行 (2=2) 和第 4 行 (3=3)。我希望有类似的解决方案=SUM(A1:A5=B1:B5);不幸的是,没有。

更新

我知道如果我要创建第三列,逐行比较每对值(如 Dave 和 Joe 所建议的,使用例如=IF(A1=B1, 1, 0)),解决方案会很简单;但是,我正在寻找一行代码,因为我不想让中间结果弄乱电子表格。

答案1

你几乎是对的。你可以稍微调整一下你的公式,如下所示:

{=SUM(IF(A1:A5=B1:B5,1,0))}

输入此公式(不带花{}括号),然后按Ctrl+ Shift+ Enter,这样 Excel 就知道这是一个数组公式。花括号表示这是一个数组公式。

答案2

在 Excel 中,你可以SUMPRODUCT按照与 Andi 的解决方案类似的方式使用函数,但要避免“数组输入”:

=SUMPRODUCT(0+(A1:A5=B1:B5))

这也将计算任何空白行(就像 Andi 的一样),所以如果您想避免对此版本进行更改:

=SUMPRODUCT((A1:A5<>"")*(A1:A5=B1:B5))

答案3

我会用 IF Else 语句使其更简单,以便它可以应用于数字和字符

在 C1 中,添加以下内容

=IF(A1=B1, 1, 0)

然后,将公式拖到表格下方,对整个单元格求和

 =SUM(C1:C10)   // enter correct row numbers!

答案4

如果可以使用另一列来存储部分结果,则可以按照以下步骤操作:

Column A | Column B | Column C (equal condition)
  1      |   4      | =IF(A1=B1;1;0)
  2      |   2      | =IF(A2=B2;1;0)
  3      |   5      | =IF(A3=B3;1;0)
  3      |   3      | =IF(A4=B4;1;0)
  5      |   3      | =IF(A5=B5;1;0)

在单元格 C6 中输入以下公式=SUM(C1:C5)

相关内容