編按:哈喽,大家好!平時我們總是需要計算各種到期時間,例如合同到期日、員工轉正日期、産品有效期等等。大家普遍的做法是用DATE函數計算,但是DATE函數的計算公式實在是太繁瑣了,有沒有更簡單的公式呢?當然是有的啦!用EDATE就行啦~
——————————
平時的工作中,經常會遇到計算職工轉正日期、合同到期日、職工退休日期以及産品有效期截止日等等與日期有關系的問題。這些問題看似複雜,實際上隻需要一個很簡單的函數就能搞定,這個函數就是EDATE。今天分享EDATE函數的幾個應用實例,希望對大家有所幫助。
實例1:計算員工轉正日期
下圖是某公司的新入職員工登記表,入職三個月即可轉正,要根據入職日期計算出轉正日期。
沒有對比就沒有傷害,先來看看不會EDATE函數的夥伴是怎麼寫公式的:
=DATE(YEAR(D3),MONTH(D3) 3,DAY(D3))
而用EDATE函數的公式是這個樣子的:=EDATE(D3,3),是不是很簡單?
EDATE函數隻需要兩個參數,開始日期和間隔月數。
公式=EDATE(D3,3)的意思就是D3單元格中的日期三個月後所對應的日期。
實例2:計算合同到期日
如圖所示,需要根據每個人簽合同的日期與合同期限,計算出對應的合同到期日,使用EDATE函數同樣非常容易就能計算出結果。
公式:=EDATE(D3,E3*12)-1
與第一個例子不同的是,本例中要計算的不是3個月後的日期,而是若幹年後的日期。因為EDATE隻能按月進行計算,所以需要将E列中對應的年份乘以12變成月數,才能得到正确的結果。
實例3:計算職工退休日期
如圖所示,根據性别和出生日期計算退休日期,男性滿60周歲,女性滿55周歲即可退休。
公式:=EDATE(C3,IF(B3="男",60,55)*12)
在這個例子中,要根據性别判斷退休年齡。如果為男性,退休年齡是60,退休日期就是出生日期60年之後的日期;同理,如果為女性,退休年齡是55,退休日期就是出生日期55年之後的日期。
首先要用IF函數判斷每個人退休的年齡,IF(B3="男",60,55)這部分很容易理解,若單元格B3的值等于男性返回60,否則返回55。
接着使用實例2的方法,将IF函數得到的年數結果乘以12轉換為月數後,再用EDATE函數得到退休日期。
實例4:計算産品有效期截止日
如圖所示,根據每個産品的生産日期和保質期,計算出産品有效期。
公式:=EDATE(B2,IF(RIGHT(C2,1)="年",LEFT(C2,1)*12,SUBSTITUTE(C2,"個月","")*1))-1
本實例的難度在于保質期不是規範的數字,而且有年和月兩種形式。下面簡單分析一下IF這部分的思路。
RIGHT(C2,1)="年"這部分的作用是使用RIGHT函數将C列單元格最右邊一個字提取出來,判斷保質期按年計算還是按月計算。如果是年的話,就用LEFT将年數提取出來再乘以12轉為月數,也就是LEFT(C2,1)*12。
(注:這個思路是考慮到正常情況下保質期不會有超過10年的情況,所以提取最左邊的1位就是年份,如果年份有兩位數的,就需要換其他思路了。)
如果不是按年計算的,就需要将月數提取出來。提取月數的思路有很多,本例使用了替換函數SUBSTITUTE,将單元格中的“個月”二字替換為空(相當于删除)。用SUBSTITUTE函數得到的值是文本型的,所以需在後面*1将文本數字轉為數值。
最後再用EDATE函數計算出産品的保質期。
通過以上四個例子,大家對于這個函數的用法應該比較清楚了,重點是如何根據實際問題得到第二參數(月數),有時候可以直接使用表格中的數據,有時候需要借助其他函數才能獲得需要的月數。
最後要說明的一點就是,這個月數可以是負數,表示求指定日期之前幾個月的日期。
****部落窩教育-日期函數 EDATE應用技巧****
原創:老菜鳥/部落窩教育(未經同意,請勿轉載)
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!