在Excel的日常工作中,對於日期的處理和引用是很常見的,在群裡也有很多的表友經常問及這塊知識,那不妨今天我們就來一起探討一下日期的函數處理。
1、Date ()、Year()、Month()、Day()
四個非常簡單而常用的函數,但是卻可以有很大的用途:
這樣的嵌套,是自動計算當月的天數的,而且自動進位,很明顯3個月不等於90天。這類問題還有財務的賬期日計算,生產行業的交貨日計算等等。
2、Edate()、Eomonth()
這兩個函數的語法是完全一樣的,函數名(start_date,months),但是仔細看兩個函數截然不同。
Edate函數是返回的N月後當日,如果日期超過那個月的最後一天,則以最後一天為定。
Eomonth函數是返回的N月後的那個月的月底最後一天。
函數用在哪?有的表友說,這兩個函數用的很少。聽到這樣的說法,作者只能說我們的工作用這兩個函數比較少而已。
在合同日期管理中有3種情況,舉例如下:
1)簽訂了3年合作合同,3年後今天的後一天開始,合同自動解除:
2)簽訂了3年合作合同,甲乙雙方約定延續到3年後月份的末一天:
3)還有一種情況就是6月30日之前簽訂的,履行到3年後的6月30日,6月30日之後簽訂的,履行到3年後的12月31日:
3、Yearfrac()、Datedif()、days()
這三個函數都可以返回兩個日期的間隔天數,但是每個函數又都有自己的特點:
1)Yearfrac()函數返回的是兩日期之間的天數佔全年天數的百分比
語法:Yearfrac(Start_date,end_date, [basis])
Basis參數:0/空是以360天為比;
1是按實際/實際天數;
2是按實際/360天;
3是按實際/365天;
4也是按時間/360(歐洲)。
2)Datedif函數是按參數指定條件返回日期比較值
語法:Datedif(start_date,end_date,unit)
Unit參數:”Y" 兩個日期間的年份差;
”M" 兩個日期間的月份差;
”D" 兩個日期間的天數差;
”MD" 兩個日期間,忽略年月值的,日期差;
”YM" 兩個日期間,忽略年日值的,月份差;
”YD" 兩個日期間,忽略年份,月日的差。
3)Days這個才是明證言順的兩個日期之間的差值,值得一說的是。區別於days函數,還有一個函數是days360函數。兩個如何理解呢,days函數是按365天返回值,而days360是按照360來計算的,不符合中國人的用法。
4、Networkdays()、Networkdays.intl()
Networkdays函數和Networkdays.intl函數,很直譯的說法就是法定工作日,即拋開週六日後的工作天數。但是有的表友說了“我們是單休”,或者“我們不休週六日”,那我就建議大家要學習一下networkdays.intl函數了。
語法:networkdays.intl(start_date,end_date,weekend,holidays)
Weekend是週末參數,具體內容如下:
不用死記硬背,輸入函數的時候會有提示的,那麼holidays參數怎麼運用呢?用實例說明吧
在2017年的10月份,單休的表友要上滿23天是滿勤,雙休的表友要上滿19天滿勤。
今天的內容就是這些了,總感覺意猶未盡,給自己出一道題吧。
舉例:2017-9-29去政務窗口辦事,程序流轉完,告知15個工作日後再來。應該是個很常見的例子,注意的是“15個工作日”,查一查是哪天,是不是下面的那天。
注意:上面有的函數是需要安裝加載項——分析工具庫後才可以使用的。所以平時建議大家安裝Excel還是完全安裝的好。
作者雲:
日期的處理在工作中五花八門,但是作者相信有上面這些函數,處理起來也就不是那麼繁瑣了。
編後語:
對於日期,本教案中沒有體現出周序號、星期幾這些比較常見的函數,相信很多表友對於上面某些內容還都是很陌生的,那就學會它吧,誰知道什麼時候就用的上了呢。
閱讀更多 孫樹帥老師 的文章