比较MS Excel中的列

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

我试图用如果条件如下:

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 ║ ╚═══╩════════╩═══╩═══╩═══╩═══╩═══╝ 

把这个公式放在任何你想查看结果的地方

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

"<>"只计算非空白单元格,但会计数#NAME?#DIV/0#REF

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

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

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

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

在这里输入图像说明

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