excel中DATEDIF函式怎麼用(表格函式DATEDIF怎麼用)

嗨,我是愛踢汪。今天本汪帶著大家繼續學習一下Excel的小妙招,希望大家喜歡!

領導:小張,你過來一下!

小張:糟糕,領導叫,一定沒有好事兒。忐忑不安的來到領導辦公室,看見這個Excel表格,果真沒有好事兒。

領導:你看看,E7單元格周學的專案報酬你怎麼計算的?

小張:我再看看,稍等一下,領導。

……

專案背景介紹:單位外聘了一批技術人員加入新產品研發專案,對外聘人員的支付報酬標準為:加入專案不到一個月,按照5000元的費用支付。加入專案時間達到一個月,按照8000元每月的費用支付。

見鬼,周學5月31日開始參加專案,6月30日,應該一個月了啊,怎麼公式統計出來是0呢?

Excel中求兩個日期之間相隔的月數,我們通常使用DATEDIF函式來計算。

百度一下,網路上一大把的教程也是這麼說的。我也曾經一度沾沾自喜,覺得自己多麼能幹,還知道DATEDIF這麼好用的日期函式,甚至Excel幫助文件都查詢不到這個函式。當經歷這次慘痛的教訓,或許有點明白微軟為啥不公開這個函式,搞成隱藏函式,可能真的就是因為函式有些缺陷才沒有公開吧。

DATEDIF函式計算日期相減得到月份數的基本語法: =DATEDIF(開始日期,結束日期,”m”),其中的引數“m”,表示計算日期之差的月數。

這個函式也不是不可以使用,只是必須注意下面細節!

1. NUM錯誤

=DATEDIF(開始日期,結束日期,"M"),結束日期必須大於開始日期。比如=DATEDIF(B1,A1,"y")就會出現報NUM!錯誤。

2. 提升月底天數優先順序

DATEDIF函式只關注了日期的天資訊,忽視了對月底資訊的判斷。所以我們真正在用這個函式的時候,遇到月底這種情況,就需要做優先順序判斷。正如案例第七行:周學的資訊:2017/5/31 與 2017/6/30 都是月底,如果直接寫:=DATEDIF(B7,C7,"m"),得到的結果就是錯誤的。

遇到日期都是月底這種情況,我們自己需要都留個心眼兒,把公式改進成:

=IF(DAY(日期 1)=1,日期 1,日期)

套進來就是:

=DATEDIF(IF(DAY(B7 1)=1,B7 1,B7),IF(DAY(C7 1)=1,C7 1,C7),"m")

這樣就不會出錯了。

今天的分享就到這裡了。我是愛踢汪,您的關注是我堅持到現在的唯一動力,有了您的支援與鼓勵,我才有信心一直堅持下去,繼續奉上更多內容。衷心期待您能點一下上面紅色關注按鈕,關注我一下。萬分感謝!