当公式和日期的字段为空时使用 SUMPRODUCT

Use SUMPRODUCT when field is blank from formula and dates

我的 excel 中有两列,A 中有 Date 1B 中有 Date 2。我正在尝试查找 B 列大于 A 列的次数。我正在使用公式 =SUMPRODUCT(((B2:B5-$A:$A)>0)*1) 并收到错误消息。该错误是由于 B 列中的数据是从公式中提取的,其中我的 value_if_false""。当单元格为空时,Excel 将其视为数据并且不会执行我的原始公式。

如果我转到 B4 并删除该值,我原来的 SUMPRODUCT 将执行。我不想回去做那件事。我试过 =SUMPRODUCT((NOT(ISBLANK(B2:B5-$A:$A)>0))*1) 但它返回 0。有什么建议吗?

将“”(空字符串)写入应该包含数字(例如日期)的单元格绝不是一个好主意,因为它会导致像这样的问题。解决方案是不将字符串(文本)写入数字字段。改为写入零,然后通过全局设置或单元格格式处理零的显示。

当然,任何日期都会大于零。如果这导致错误计数,明显的补救措施是对涉及零的实例进行第二次计数,并从第一次计数中减去第二次计数的结果,例如 SUMPRODUCT(1)-SUMPRODUCT(2)

尝试以下数组公式:

{=SUMPRODUCT((IF(IFERROR(VALUE(B2:B5);FALSE); B2:B5;0)>$A:$A)*1)}

编辑后的数组公式按ctrl+shift+enter

确认

我想如果您想坚持使用 SUMPRODUCT 并避免数组输入,您可以试试

=SUMPRODUCT((B2:B5<>"")*(B2:B5>A2:A5))

或排除数字以外的任何内容(在本例中将被格式化为日期)

=SUMPRODUCT(ISNUMBER(B2:B5)*(B2:B5>A2:A5))

可能更好。

B4 包含“”,而不是 =""。