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
函数不能接受范围。 但是你可以使用这个来模拟weekday
function所需要的:
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
在您的代码中)。 我不完全确定你想要做什么,没有更多的细节和一些样本数据,所以这是我可以给你的最好的帮助。