首頁 >專題 >excel >Excel隱藏函數之DATEDIF

Excel隱藏函數之DATEDIF

WBOY
WBOY轉載
2022-06-20 11:13:044891瀏覽

這篇文章為大家帶來了關於excel的相關知識,其中主要介紹了隱藏函數的相關問題,主要是DATEDIF函數,下面一起來看一下,希望對大家有幫助。

Excel隱藏函數之DATEDIF

相關學習推薦:excel教學

Excel中有一類函數叫隱藏函數,你在Excel的函數清單裡是找不到它們的身影的,甚至連微軟的幫助文件裡也沒有相關說明,但是它們不但功能強大,而且在工作中應用廣泛。

DATEDIF就是一個神奇的隱藏函數,它存在於Excel中,但在Excel的幫助文件中卻找不到它。

今天我們就來扒一扒這個神奇的隱藏函數。

1、DATEDIF函數詳解

DATEDIF的基礎語法為:

DATEDIF(開始日期,結束日期,間隔類型)

Excel隱藏函數之DATEDIF

其中,參數start_date和end_date是兩個日期,前者一定不能大於後者。

unit有以下6個參數,分別用來計算不同的差異,如下表所示。

DATEDIF的參數

在日常拼字中,有的人會遺漏函數名稱中間的D,變成DATEIF,這是錯誤的,而且輸寫錯誤時,Excel系統不會提示。

此函數字有一個簡單的記憶方式:DATEDIF縮寫於Date Different,譯為不同的日期。

2、計算兩個日期間的年、月、日間隔

如下圖所示,這是DATEDIF的常規用法,這6個參數的實際意義,我們可以結合圖中的數據進行講解。

Excel隱藏函數之DATEDIF

DATEDIF常規用法

首先,在D16、D24單元格中分別輸入以下公式,向下分別複製到D21、D29單元格,以計算出不同參數的差異:

=DATEDIF(E16,F16,C16)

=DATEDIF(E24,F24,C24)

D24單元格,參數「Y ”,單看2017年和2020年,相差年數應為3,但是從2017/7/28到2020/2/8,先過2年到2019/7/28,還沒到要求的2020/2/ 8,再過1年的話,就到了2020/7/28,會超過結束日期,所以其結果回傳2,不能回傳3。

D25單元格,參數“M”,2017/7/28過30個月便到了2020/1/28,然後再過1個月就到了2020/2/28,超過了結束日期2020/2/8,所以結果只能為30,不能為31。要充分體會「整年數」「整月數」中「整」字的意思。

D26單元格,參數“D”,就相當於兩個日期直接相減,計算天數的差。

D27單元格,參數“MD”,這個計算忽略月和年,相當於把start_date拉近到end_date 前最接近的日期。也就是說,將2017/7/28拉近到2020/2/8之前日期為28的最接近日期,即2020/1/28,然後計算2020/1/28與2020/2/8之間的天數差,即11天。

D28單元格,參數“YM”,忽略日和年計算整月數,即相當於把2017/7/28拉近到2020/2/8之前最接近的7月28日,變成2019/7/28,然後計算其與2020/2/8之間的「整」月數差,即6個月。

D29單元格,參數“YD”,忽略年計算天數差,相當於把start_date拉近到end_date前最接近的相同月和相同日的日期。也就是說,將2017/7/28拉近到2019/7/28,然後計算2019/7/28與2020/2/8之間的天數差,即195天。

在使用「MD」「YD」參數計算天數差時,由於閏年的存在,有時會與理想值相差一天,這種情況一般不會影響我們的日常使用。

3、整年、月、日區別

如下圖所示,列出了2017/7/28到2020/7/27與2017/7/28到2020/7 /28的對比,雖然end_date只差了1天,但結果有比較大的差異。計算原理相同,要體會「整」字的意思。

Excel隱藏函數之DATEDIF

整年、月、日區別

這麼多參數需要怎麼記憶呢?首先要知道這個函數的作用,理解每一個參數的計算原理。如果工作中常常需要計算日期,可以列印出來,貼在桌子旁即查即用。

4、案例:工齡計算

假定今天是2019/7/28,每位員工參加工作的日期如下圖中C列所示,那麼每個人的工齡是多少呢?工齡可表示成m年n個月的形式。

Excel隱藏函數之DATEDIF

工齡計算

#可以逐步進行運算。先計算「整年」數,然後計算「整月」 數。計算月數時需要注意,月數的值最大不會超過11,因為到12個月就是1年了,也就是要忽略年份的存在來計算月數。那麼使用哪個參數計算呢?

從上一節講的DATEDIF的參數對照表中可以看到,計算整年數使用參數“Y”,而忽略年計算整月數使用“YM”。於是D51單元格的函數公式可以寫成:

(左右拖曳查看完整公式)

=DATEDIF(C51,”2019/7/28″,”Y”)&” 年“&DATEDIF(C51,”2019/7/28″,”YM”)&” 個月”

我們看一下D54:D56單元格區域,僅相差1天,計算結果便不同。所以使用DATEDIF時,總是要有一個「整」的概念在腦海中。

另外,DATEDIF中的Y、M、D參數,大小寫都可以。

5、案例:年假天數計算

《職工帶薪年休假條例》規定,職工累計工作已滿1年不滿10年的,年休假為5天;已滿10年不滿20年的,年休假為10天;已滿20年的,年休假為15天。

同樣,假設今天是2019/7/28,那麼每位員工的年休假天數分別為多少天呢?

其實這個題目比上一節的案例更簡單,只需知道每名員工參加工作的年數即可。

如下圖所示,在D66儲存格中輸入以下公式,計算出每位員工的工作年數:

=DATEDIF(C66,DATE(2019,7,28),” Y”)

Excel隱藏函數之DATEDIF

年假天數計算

在這裡再次強調,如果在公式中使用快速輸入的方式表達日期,則必須加雙引號,如上節中的“DATEDIF(C51,”2019/7/28″,”Y”)”,如果掌握不了雙引號使用,就規規矩矩地使用DATE函數,保證不會出錯。

根據D列的年數,可以計算法定年假的天數,在E66儲存格中輸入下列公式:

=LOOKUP(D66,{0,1,10,20},{ 0,5,10,15})

相關學習推薦:excel教學

#

以上是Excel隱藏函數之DATEDIF的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:excelhome.net。如有侵權,請聯絡admin@php.cn刪除