Excel SUMPRODUCT适用于2021年,但不适用于2020年
这使用了命名的表,工作正常,得到了预期的13Excel SUMPRODUCT适用于2021年,但不适用于2020年,excel,excel-formula,Excel,Excel Formula,这使用了命名的表,工作正常,得到了预期的13 =SUMPRODUCT(--(YEAR(Infra_SIM[Request Date])=2021),--(TEXT(MONTH(Infra_SIM[Request Date]),"mmm")="Jan"),--(Infra_SIM[Use For Reporting]="Yes")) 2020年的相同精确公式不起作用。它给我0,应该给12 可能有什么问题?问题不在于年份,而在于月份 您将
=SUMPRODUCT(--(YEAR(Infra_SIM[Request Date])=2021),--(TEXT(MONTH(Infra_SIM[Request Date]),"mmm")="Jan"),--(Infra_SIM[Use For Reporting]="Yes"))
2020年的相同精确公式不起作用。它给我0,应该给12
可能有什么问题?问题不在于年份,而在于月份 您将它包装在文本函数中,它不会作为数组计算(它都返回第一个日期) 改变它
--(文本(月(表[列]),“mmm”=“Dec”)
到
--(月(表[列])=12)
编辑:
BigBen指出问题不在于TEXT()函数,而是MONTH()和TEXT()相互嵌套
--(TEXT(表[列],“mmm”)=“Dec”)是一个同样有效的解决方案。有许多可能性。2020年日期可能存储为文本,而不是真实日期。或者Yes
前面或后面有空格。很可能是数据相关的,而不是公式,因此我们只能猜测,因为我们没有您的数据。使用“评估公式”工具,逐步查看公式,看看它返回的数据与预期的不同。这是我第一次在答案上击败Scott Craner。仍然为+1,因为评估公式工具会捕捉到这一点。在此处删除月份
,并在实际日期调用文本
。或者使用MONTH
并与发布的答案中概述的12
进行比较。但是不要把MONTH
和TEXT
混在一起。我想你已经找到了这个问题,因为将MONTH
的结果传递给TEXT
没有任何意义。
=SUMPRODUCT(--(YEAR(Infra_SIM[Request Date])=2020),--(TEXT(MONTH(Infra_SIM[Request Date]),"mmm")="Dec"),--(Infra_SIM[Use For Reporting]="Yes"))