excel數據透視表怎么計算工作日天數?

本文提供了一個公式,能夠計算多種情形下某個月的工作日天數,如下所示 。

excel數據透視表怎么計算工作日天數?


單元格C2中的公式為:
=MAX(0,NETWORKDAYS(MAX($A2,C$1),MIN($B2,EOMONTH(C$1,0))))
向右拖至F列,向下拖至第8行 。
NETWORKDAYS函數的語法為:
NETWORKDAYS(start_date,end_date, [holidays])
其中,參數start_date必需,指定開始日期;參數end_date必需,指定結束日期;參數holidays,可選,指定要排除的日期 。
因此,參數start_date是公式中的:
MAX($A2,C$1)
獲得開始日期和當前月首日中較大的值 。
參數end_date是公式中的:
MIN($B2,EOMONTH(C$1,0))
其中的EOMONTH(C$1,0)獲取當前月最后一天的日期值,因此獲取結束日期和當前月最后一天日期值中的較小值 。
這樣,將本月中的開始和結束日期就確定了,傳遞給NETWORKDAYS函數得到當月工作日天數 。
在第9行中,我們將假期排除在外,單元格C9中的公式為:
=MAX(0,NETWORKDAYS(MAX($A9,C$1),MIN($B9,EOMONTH(C$1,0)),$B$13:$B$15))
向右拖至F列 。
公式中添加了NETWORKDAYS函數的可選參數holidays,將指定的日期排除 。
在Excel 2010中,Microsoft引入了一個新函數NETWORKDAYS.INTL,增加了能夠自定義周末日期的功能 。其語法為:
NETWORKDAYS.INTL(start_date,end_date, [weekend], [holidays])
其中,參數weekend可指定下表中的值:
excel數據透視表怎么計算工作日天數?


參數weekend也可以指定由0和1組成的7個字符長的字符串,其每個字符代表一周中的某一天,從周一開始 。1代表該天是非工作日,0代表工作日 。例如,0000011表示周末是周六和周日 。注意,在字符串中只能有1和0,且使用1111111將總是返回0 。
對于我們所舉的示例來說,如果在單元格C9中輸入公式:
=MAX(0,NETWORKDAYS.INTL(MAX($A9,C$1),MIN($B9,EOMONTH(C$1,0)),6, $B$13:$B$15))
Excel將會認為周四和周五是周末 。
使用公式:
=MAX(0,NETWORKDAYS.INTL(MAX($A9,C$1),MIN($B9,EOMONTH(C$1,0)),”1010100″, $B$13:$B$15))
【excel數據透視表怎么計算工作日天數?】Excel將認為周一、周三、周五是周末 。

    猜你喜歡