当公式和日期的字段为空时使用 SUMPRODUCT
Use SUMPRODUCT when field is blank from formula and dates
我的 excel 中有两列,A
中有 Date 1
,B
中有 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 包含“”,而不是 =""。
我的 excel 中有两列,A
中有 Date 1
,B
中有 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 包含“”,而不是 =""。