我正在构建一个函数来测试四 (4) 列中列出的日期。在测试每列中的每个日期时,我的一个测试会测量该日期是否发生在用作参考的日期之前。由于参考资料说 COUNTIFS 将空白单元格处理为 -零- 值,所以我的假设是,如果我做出如下陈述:
=COUNTIFS(A1:A10,"<9/17/11")
.. 计数将等于所有早于(小于)“9/17/11”的行,一直到零 - 其中应该包括尚未输入日期的空白行。
但事实并非如此,因为返回的数字只是实际包含日期的行数 - 而不是任何空白行。
在有人建议使用其他函数之前,我基本上只能使用 COUNTIFS,除非我写一本小说来描述我正在尝试做什么以及如何让它发挥作用(这可能不值得付出所有努力)。到目前为止,我的想法已经实现了 98%,除了这一小部分...
答案1
该功能的解释指出;
如果条件参数是对空单元格的引用,则 COUNTIFS 函数会将空单元格视为 0 值。
我理解这意味着在满足条件的计数中它被算作“0”。因此该函数正常工作。
如果需要计算空白单元格以及符合条件的单元格,则可以使用以下命令:
=COUNTIF(A1:A10, "<9/17/2011") + COUNTBLANK(A1:A10)
这将计算符合您条件的单元格数量、计算空白单元格数量并将结果相加得出总数。
答案2
由于参考资料说 COUNTIFS 将空白单元格处理为零值……
文档里没有这么说。文档里说的是:(我做了补充和强调)
如果标准参数是对空单元格的引用,COUNTIFS 函数将空单元格视为 0 值[与“”值相反]。
因此,例如,在 中COUNTIFS(A1:A10,A11)
,A11
是标准参数,并且如果单元格为空,则函数将被视为COUNTIFS(A1:A10,0)
而不是COUNTIFS(A1:A10,"")
。
您可能会认为,对于您的示例,解决方案将是:
=COUNTIFS(A1:A10,"<9/17/11",A1:A10,"")
但这不起作用,因为条件是“与”而不是“或”的。
要仅使用该COUNTIFS()
功能,您需要执行以下操作:
=COUNTIFS(A1:A10,"<9/17/11")+COUNTIFS(A1:A10,"")
请注意,在这种情况下,空单元格将被视为“”值,并且不是为 0 值!换句话说,……+COUNTIFS(A1:A10,0)
不起作用。