Sumproduct包括工作日功能

时间:2015-09-02 16:44:49

标签: excel excel-formula excel-2010

我正在使用此公式来确定日期是否在F列中的日期之后出现,而是在G + 3个工作日之前的日期之前。

我使用的是以下配方,效果很好:

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

但是我意识到我并没有考虑到决赛中的周末&#34; +3。&#34;

所以我尝试了这个:

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

它返回#VALUE!无论我是否按 Ctrl + Shift + 输入,都会发生这种情况。

如何让这项工作好吗?

3 个答案:

答案 0 :(得分:1)

由@Tim指定,workday函数无法接受范围。但是你可以使用weekday函数模拟你需要的东西:

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(也接受一个范围)时,你会创建一个0/1矩阵(就像你的 条件有效的行的指示符矩阵)。如果您*两个条件矩阵,您将拥有与两个条件匹配的剩余行。最后,如果你申请金额,你将得到计数。

如果条件需要公式

,这是一种模拟sumproduct的方法

你必须使用ctrl + shift + enter。

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

使用此日期我获得了2的结果。 哪个是正确的,两个日期都比他们的合作伙伴大,但低于他们的合作伙伴+ 3个工作日

P.S:我使用西班牙语Excel,因此它可能是公式翻译的错误

答案 1 :(得分:1)

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

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

感谢。

答案 2 :(得分:0)

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