以下是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 ║
╚═══╩════════╩═══╩═══╩═══╩═══╩═══╝
答案 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)))
有关“将SUMPRODUCT用作数组公式”的解释,请参阅this link。