我正在尝试计算一行中包含“有效”值的单元格数量。该值的有效性有很多标准。到目前为止我有这个:
COUNTIFS(INDEX(S2ScoresAssQ1,ROW()-4,0),"<>",S2UnitSelectorQ1,"<>2",S2CodeAssQ1,O$2)
但是,满足所有要求并包含计算结果为“”的公式的单元格仍然被计算在内,而实际上它们不应该被计算在内。换句话说,某些单元格包含以下公式:
=IF(H5<>"",H5*I$3/H$3,"")
如果计算结果为数字,则应该对其进行计数。如果它的计算结果为“”,则不应将其计算在内。 ISNUMBER 可以工作,但我不知道如何将其放入 COUNTIFS 中。
这是一个例子:
单元格 F4 应显示“1”,因为只有一个有效的“A”分配。 F 列(单元格 F3)中的代码是:
=COUNTIFS(B$2:E$2,F$2,B3:E3,"<>")
E 列(单元格 E3)的代码是:
=IF(ISNUMBER(D3),D3/12,"")
最佳答案
正如 Tom Sharpe 所说,使用:
=COUNTIFS(B$2:E$2,F$2,B4:E4,"<>*",B4:E4,"<>")
在示例中有效,“<>”消除真正的空白单元格,“<>*”消除包含计算结果为“”的公式的单元格(同时保留计算结果为数字的公式)。
我能够使用 SUMPRODUCT() 解决原始代码中的问题:
=SUMPRODUCT(--ISNUMBER(INDEX(S2ScoresAssQ1,ROW()-4,0)),--(S2UnitSelectorQ1<>2),--(S2CodeAssQ1=O$2))
关于Excel 检查值是否为 COUNTIFS 内的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42452518/