網友問到:在 Excel 中給予一個日期,要找出不含週六日的 3 個工作天的日期,該如何處理?(參考下圖)

【解法】

儲存格C2:

=A2+3+IF(SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A2 & ":" & A2+3)),2)>5))>0,2,0)

ROW(INDIRECT(A2 & ":" & A2+3):找出原始日期到 3 天後日期形成的的儲存格陣列(本例:A40911:A40914)

WEEKDAY(ROW(INDIRECT(A2 & ":" & A2+3)),2)>5:找出原始日期到 3 天後日期中是週六日形成的 True/False 陣列。

SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A2 & ":" & A2+3)),2)>5)):找出原始日期到 3 天後日期中的週六日數

將原始日期加 3 天,再加週六日數(遞延日數),即為答案。

試著練習如果是 4 個工作天呢?

儲存格C2:

=A2+4+IF(SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A2 & ":" & A2+4)),2)>5))>0,2,0)

試著練習如果是 5 個工作天呢?

儲存格C2:

=A2+7

(因為 5 個工作天內必會遇到 2 天是週六日)

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(5) 人氣()