比较MS Excel中的列

时间:2013-09-13 04:11:39

标签: excel

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

2 个答案:

答案 0 :(得分:1)

将此公式放在您想要查看结果的位置

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

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

通过添加两个标准,可以避免如果零也不是可接受的值

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

答案 1 :(得分:1)

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

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

enter image description here

有关“将SUMPRODUCT用作数组公式”的解释,请参阅this link