如何玩轉excel日期函數?以下這篇文章帶大家看懂90%的日期運算,今天涉及的函數會比較多,建議小夥伴們可以先收藏,再閱讀~
一、計算上個月的同一天
小麗:「苗老師,我有一個問題,我想算一個月的環比情況,希望能直接和上個月的當天作對比,我本來想直接減30天,但是我算了才發現,有的月份是30天、31天,有的月份是28天、29天不定。怎麼能解決這個問題呢?」
苗老師:「這個好辦,我教你一個函數,EDATE。這個函數就可以實現你的需求,我做一個示範給你看。」如圖1所示。
圖1
EDATE函數用於傳回計算日期之前或之後指定月份的日期。它有兩個參數,基本格式為EDATE(開始日期,間隔月數)。間隔月數可以是正數、負數、零,它們分別表示計算日期之後的月份,計算日期之前的月份和本月。如圖2所示。
圖2
如果要直接計算當天上月的日期,就直接把TODAY()放在公式裡,如圖3所示。
圖3
小麗:「太好了,這樣我就能交差了。」
EDATE函數是我們工作中十分常用的一個函數,它不僅能用於計算員工轉正日期、合約到期日,還能計算產品有效期限截止日等。
二、關於其他的日期函數
。苗老師:「既然說到了這裡,那我就乾脆再多教你幾個關於日期的函數。」
1. EOMONTH函數
它主要用於返回計算日期之前或之後指定月份的月末,結構和EDATE函數差不多。 」如圖4所示。
圖4
除此之外,我們還可以透過簡單的日期計算,使用EOMONTH函數得出對應的月初日期。如圖5所示。
圖5
#透過EOMONTH函數算出上個月的月底日期後再1,就變成了次月的1號。而且,EOMONTH函數還可以用來計算本月的天數,配合上DAY函數,我們就可以這麼寫,如圖6所示。
圖6
另外,我們也可以使用EOMONTH函數來判斷本月還剩下多少天,如圖7所示。
圖7
2. DATEDIF函數
說完了EOMONTH函數,我們再說一個十分重要的日期函數,DATEDIF函數。這個函數用來計算兩個日期之差,傳回兩個日期之間的年、月、日間隔數。我們可以使用這個函數計算某人的年齡,司齡,工齡等等。如圖8所示。
圖8
上圖DATEDIF函數的第三參數Y、M、D,分別代表回傳兩個日期之間相隔的整年數、整月數、天數。不過這個函數有一個禁忌,就是函數裡的第一個日期一定要小於第二個日期。
3. WEEKDAY函數
這個函數是關於星期的函數,用於返回一個日期在一個星期中的第幾天,它有兩個參數,基本格式為WEEKDAY(計算的日期,指定以星期幾作為一周的第一天)。如果第二參數省略,則週日會作為一週的第一天。由於各地關於星期的習俗不同,有的國家以周天作為一周的第一天,有的國家以周一作為一周的第一天,此時,我們可以通過調整WEEKDAY函數的第二參數進行計算,如圖9所示。
圖9
但一定會有人說,我們公司就是以週二作為一週的第一天,該怎麼辦呢?別急,這個函數還真考慮到了這些問題,如圖10所示。
圖10
4. WEEKNUM函數
最後再為大家介紹一個關於星期的函數WEEKNUM ,這個函數可以傳回指定日期是一年中的第幾週,結構和EDATE函數差不多,第二參數用來指定以星期幾作為一週的第一天。在省略第二參數時,同樣以星期日作為一週的第一天。如圖11所示。
圖11
總結:今天所說的這些都是關於日期的函數,它們能幫助我們在日常工作中更好地進行日期的計算。下面的表格列出了今天講解的所有函數公式,並附上了幾個其他關於日期計算的方法,方便大家歸納和總結。
序號 |
#說明 |
函數 |
1 |
傳回計算日期之後指定月份的日期 |
=EDATE(TODAY (),1) |
2 |
#傳回計算日期之後指定月份的月末 |
#=EOMONTH(TODAY(),1) |
#3 |
計算兩個日期相差的整年數 |
=DATEDIF(A2,B2,"Y") |
4 |
返回計算日期是本週的第幾天 |
=WEEKDAY(TODAY(),2) |
5 |
傳回計算日期位於一年中的第幾週 |
=WEEKNUM(TODAY(),2) |
#6 |
計算今天是本季的第幾天 |
=COUPDAYBS(TODAY(),"9999-1",4,1) 1 |
7 |
計算當季有幾天 |
=COUPDAYS(TODAY(),"9999-1",4,1) |
#8 |
計算今天屬於第幾個季度 |
=MONTH(MONTH (TODAY())*10) |
相關學習推薦:excel教學
以上是實用Excel技巧分享:帶你來玩日期函數,掌握90%的日期運算!的詳細內容。更多資訊請關注PHP中文網其他相關文章!