當前位置:首頁 > 教育 > 正文

DATEDIF函數使用大全終于整理齊了,算工齡算年齡做生日提醒!

DATEDIF函數,是一個隐藏函數,你或許看到過這個函數,

這一章,我會要講到DATEDIF函數所有的用法,

其實有些實戰案例還是有一些難度的!

首先你可以保存一下這張圖片:

這張圖片,包含了這個函數所有的用法,

此函數的意義在于計算時間差,公式:

DATEDIF(開始時間,結束時間,模式)

如:

你想要計算開始時間和結束時間跨越的年份:

DATEDIF('2001/5/2','2022/6/14','Y')

結果為:21

如果你要計算開始時間和結束時間跨越的所有月份:

DATEDIF('2001/5/2','2022/6/14','M')

結果為:253

總天數差計算:

DATEDIF('2001/5/2','2022/6/14','D')

結果為:7713

在同月中計算日差計算:

DATEDIF('2001/5/2','2022/6/14','MD')

結果為:12

這個結果是直接忽略年份月份,計算日差值

年份内的月差值計算:

DATEDIF('2001/5/2','2022/6/14','YM')

結果為:1

這個結果是忽略年份和日,計算月差值

年份内的日差計算:

DATEDIF('2001/5/2','2022/6/14','YD')

結果為:43

這個結果是忽略年份和月份,計算日差值

如果你自己在做相關計算的時候,如果不确定你所需要的内容體現,你可以按照我這個方法,先制作一個圖譜,然後再根據需求進行挑選.

實戰案例

1.年齡計算

先用MID函數截取出生日期,然後用TEXT函數講起變成日期模式,最後使用DATEDIF函數來做年份的模式的計算:

可以直接複制套用此公式:

=DATEDIF(TEXT(MID(C2,7,8),'00-00-00'),TODAY(),'Y')

2.做生日提醒

下方是一些員工的生日,如何做一個生日提醒,并且是提前7天進行提醒,你可以使用到下面的公式:

=IF(DATEDIF(C2,TODAY(),'YD')<=7,TEXT(DATEDIF(C2,TODAY(),'YD'),'還有0天生日;;今天生日'),'')

公式解析:

DATEDIF(C2,TODAY(),'YD')這個計算結果是忽略年份月份的日差值.

如果這個值小于等于7,也就是在7天内進行提醒,

如果滿足為7天内,那麼:

TEXT(DATEDIF(C2,TODAY(),'YD'),'還有0天生日;;今天生日')

如果不加上TEXT函數,例如離今天還有5天過生日,那麼結果就是5.

但是加上TEXT函數之後,又可以再加一重文本判斷:

在自定義格式中,數值有3個位置:

正數;負數;零

那麼,下方這個格式:

還有0天生日;;今天生日

意思就是:當DATEDIF函數的數值為正數的時候例如:5天,則轉換為:

還有5天過生日.

不可能會存在負數,所以第二個位置可以不用寫,

當DATEDIF函數的數值結果為0,代表正好今天過生日,

那麼0的位置就會變成今天生日.

如果不滿足為7天内,則顯示空值.

3.算員工工齡/合同到期

以計算工齡為例:

這樣的工齡天數計算,我相信人人都會做把!

用截止日期減去今天,最後做一個條件格式:

員工1迄今為止在職406天,

當然,你也可以用這個計算值除以365

換算成在職年限,

這種做法不算精準

如果你的要求是要做成下面這個樣子,就必須要要用到DATEDIF函數了!

公式有點長,直接可以套用:

=TEXT(DATEDIF(C2,TODAY(),'Y'),'0年;;')&TEXT(DATEDIF(C2,TODAY(),'YM'),'0個月;;')&TEXT(DATEDIF(C2,TODAY(),'MD'),'0天;;')

解析:

分别計算出:

Y年份

YM忽略年和日的月差

MD忽略年和月的日差

如果你直接把這三個内容相連,可能會出現這樣的情況:

0年0月20天

很奇怪..

所以你需要用TEXT函數進行轉換

濃縮版:

=TEXT(Y年份,'0年;0;')&TEXT(YM忽略年和日的月差,'0個月;0;')&TEXT(MD忽略年和月的日差,'0天;0;')

同樣是TEXT的自定義功能用法:正數;負數;零

如:TEXT(Y年份,'0年;0;')

如果Y年份算出來是正數就是例如:1年

如果Y年份算出來不可能為負數,

如果Y年份算出來為0那麼則不顯示.

月份邏輯也是一樣的,最後的結果如果是0年2月12天

組合出來的結果就是:

2個月12天

大家最好去嘗試一下,看一遍如果模拟操作一遍.

以上

好多字...如果大家喜歡記得點贊哦!!

你可能想看:

有話要說...

取消
掃碼支持 支付碼