0

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

空白错误

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

4

3 回答 3

2

尝试以下数组公式:

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

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

在此处输入图像描述

于 2020-01-25T03:12:19.550 回答
0

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

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

于 2020-01-25T02:31:34.453 回答
0

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

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

或排除除数字以外的任何内容(在这种情况下将被格式化为日期)

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

可能更好。

在此处输入图像描述

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

于 2020-01-25T15:01:04.123 回答