1

以下是一个示例 excel 电子表格。要求是将每一列(例如 B)与 C 列进行比较,并计算 B 和 C 都有数字的行数。例如,B 和 C 在第一行和第二行都有值,但只有 B 在第三行有值,所以输出应该是 2。

我尝试以下列方式使用 if 条件:

if(and(isnumber(b2),isnumber(c2)),1,0)

但它只适用于一行而不是所有行。

如何在 MS Excel 中实现此结果?

╔═══╦════════╦═══╦═══╦═══╦═══╦═══╗
║   ║   A    ║ B ║ C ║ D ║ E ║ F ║
╠═══╬════════╬═══╬═══╬═══╬═══╬═══╣
║ 1 ║        ║ 4 ║ 5 ║   ║ 6 ║ 5 ║
║ 2 ║        ║ 2 ║ 5 ║   ║ 2 ║   ║
║ 3 ║        ║ 1 ║   ║ 2 ║ 6 ║ 7 ║
║ 4 ║        ║   ║   ║   ║   ║   ║
║ 5 ║ Output ║ 2 ║   ║ 0 ║ 2 ║ 1 ║
╚═══╩════════╩═══╩═══╩═══╩═══╩═══╝
4

2 回答 2

1

如果您需要比较所有列组合,那么您可以使用SUMPRODUCT

=SUMPRODUCT(--(ISNUMBER(INDIRECT($A6&"$1:"&$A6&"$3"))),--(ISNUMBER(B$1:B$3)))

在此处输入图像描述

有关“将 SUMPRODUCT 用作数组公式”的说明,请参阅此链接。

于 2013-09-13T09:20:27.250 回答
1

将此公式放在您想查看结果的任何地方

=COUNTIFS(B1:B4,"<>",C1:C4,"<>")

唯一计算"<>"非空白单元格,但它会计算#NAME?, #DIV/0, 和#REF

如果零也不是可接受的值,则可以通过添加另外两个标准来避免这种情况

=COUNTIFS(B1:B4,"<>",C1:C4,"<>",B1:B4,">0",C1:C4,">0"!)
于 2013-09-13T04:37:47.910 回答