SUMPRODUCT和WEEKDAY忽略#VALUE错误但保留值

时间:2015-10-20 17:52:07

标签: excel

我真的很感谢你对这个的帮助。

我有一个电子表格,我们每周都会换一个新的电子表格。但它会在周一至周五跟踪我们的数字。问题出现在日期列(D列),发票小时列(N列)以及按WEEKDAY跟踪小时总计的单元格中。

跟踪总计的单元格是出现#VALUE错误的地方(我知道为什么,但我会这样做)。公式是这样的:

=SUMPRODUCT((WEEKDAY(D902:D978)=2)*N902:N978)

在这种情况下,它将跟踪周一的数字。它实际上工作正常,除了我有想法在D列中自动化日期:

=IF(AND(B904<>"", D903=TODAY()-1), D903+1, IF(AND(B904<>"",D903<>TODAY()-1),D903,IF(B904="","","")))

(B栏是公司的名称,其数量和时间归属于该公司。)

正如您可能已经猜到的那样,由于D列中的空白单元格中的上述公式,它会导致#VALUE错误。如果我使用SUMIFS它会忽略错误,但我无法容纳它WEEKDAY功能。 SUMPRODUCT可以容纳WEEKDAY函数,但是我无法保留这些值,但忽略了包含公式的空单元格。

如果我需要以任何方式澄清,请告诉我。

2 个答案:

答案 0 :(得分:0)

有点难以理解,但试试这个:

=SUMPRODUCT((ISERR(D902:D978)=FALSE)*(WEEKDAY(D902:D978)=2)*N902:N978)

或者这......

=SUMPRODUCT((ISBLANK(D902:D978)=FALSE)*(WEEKDAY(D902:D978)=2)*N902:N978)

答案 1 :(得分:0)

数组公式可以满足您的需求。

您当前的公式会从SUMPRODUCT转换为SUM IFERROR公式

=SUM(IFERROR((WEEKDAY(D902:D978)=2)*N902:N978,0))

然后你需要输入 Ctrl + Shift + Enter

如果输入正确,您会在公式周围看到{}