Sumproduct包括工作日function

我正在使用此公式来确定date是否为列G中date之后,但列G + 3工作日之前的date。

我正在使用以下的公式,工作得很好:

=SUMPRODUCT(($F$5:$F$1000>$G$5:$G$1000)*($F$5:$F$1000<($G$5:$G$1000+3))) 

但是我意识到我在最后的“+3”里并没有考虑周末的事情。

所以我试过这个:

 =SUMPRODUCT(($F$5:$F$1000>$G$5:$G$1000)*($F$5:$F$1000<(WORKDAY($G$5:$G$1000,3)))) 

它返回#VALUE! 不pipe我是否按Ctrl + Shift + Enter,都会发生这种情况。

我该如何做这项工作?

由@Tim指定, workday函数不能接受范围。 但是你可以使用这个来模拟weekdayfunction所需要的:

 If(weekday(G2:G5; x)>=y;5;3) 

其中x是你星期天的代码, y是星期三。 如果你的工作日大于星期三,那么你将总结5,而不是3。

 =SUM(IF($F$2:$F$3 > $G$2:$G$3; 1; 0)* IF($F$2:$F$3 < $G$5:$G$1000 + IF(WEEKDAY($G$2:$G$3)>= Y ;5;3); 1; 0)) 

平日确实接受一个范围,并返回一系列平日。 当你计算if(也接受一个范围)时,你创build一个0/1matrix(就像条件激活的行的指标matrix)。 如果你*两个条件matrix,你将有剩余的行匹配两个条件。 最后,如果你申请这笔钱,你会得到这个数字。

当你有条件需要一个公式时,这是一种模拟sumproduct的方法

你将不得不使用Ctrl + Shift + Enter。

  03/09/2015 02/09/2015 07/09/2015 03/09/2015 

使用这个date,我得到了2的结果。哪​​一个是正确的,两个date都比他们的合作伙伴,但比他们的合作伙伴+ 3个工作日

PS:我用西class牙语的Excel,所以可能是翻译公式的错误

Lori_m,在我的问题的评论中提供了一个工作的答案:

尝试在公式中插入+符号以将范围转换为数组:WORKDAY(+ $ G $ 5:$ G $ 1000,3) – lori_m 17小时前

谢谢。

WORKDAY函数的Start_Date参数不能接受范围(例如$G$5:$G$1000在您的代码中)。 我不完全确定你想要做什么,没有更多的细节和一些样本数据,所以这是我可以给你的最好的帮助。