Excel日期計算?打個響指,這個函數必須會~

2021-02-18 Excel星球

HI,大家好,我是星光,今天咱們來聊一下日期計算必會函數DATEDIF。

DATEDIF是Excel的隱藏函數。只所以說它是隱藏函數,是因為咱們在工作表中輸入這個函數看不到任何提示信息,函數列表裡沒有它,幫助文件裡也沒有它,就好像這傢伙壓根不存在一樣。但這傢伙不但真實存在,還很實用;在工作中的應用非常廣泛,常用於計算兩個日期各種類型的差。

本章概要如下▼


1,基礎語法和用法。

2,經典案例:以年、年月、年月日為單位計算工齡。

3,小技巧:如何快速記憶第3參數。

基本語法

注意開始日期在前,結束日期在後,結束日期不能大於開始日期。重點說一下它的第3參數。它代表了日期信息返回的型,不區分大小寫,不同的參數作用下表所示。


這裡說的相差年數,是指整年。2016年11月11日只有到了2020年11月11日之後,才算相差4年是不是?而公式=YEAR(B2)-YEAR(A2)顯然沒有考慮到這一點。

所以DATEDIF這個套路常用於計算一個人的年齡。比如假設A2為出生日期,則這個人的年齡為:


基礎用法裡最實用最常用的就是第3條了,請務必掌握。接下來咱們再看下一個比較經典的案例:計算工齡

取支煙,點火,來條廣告,稍後回來。

案例丨計算工齡



如下圖所示。A列是人名,B列是入職時間,C列是截止日期,計算每個人的工齡。


2,E列將工齡精確到月份,也就是幾年幾個月。

幾個月需要忽視掉年,咱們可以使用公式:

=DATEDIF(B2,C2,"y")&"年"& DATEDIF(B2,C2,"ym")&"月"


3,F列將工齡精確到天,也就是幾年幾月幾天。

幾天需要忽視掉年和月,咱們可以用公式:

=DATEDIF(B2,C2,"y")&"年"&DATEDIF(B2,C2,"ym")&"月"& DATEDIF(B2,C2,"md")&"天


但這樣的操作是不是太樸素了?咱能不能有點追求?有點夢想?娶個女神嫁個富三代?——不是,咱能不能把公式精簡下,高級點?

=TEXT(SUM(DATEDIF(B2,C2,{"y","ym","md"})*{10000,100,1}),"00年00月00日")


公式解析▼:


DATEDIF(B2,C2,{"y","ym","md"}),這部分計算兩個日期的年、月、日差值,結果是一個內存數組:{13,11,7}

然後用這個內存數組乘以{10000,100,1},也就是{13,11,7}*{10000,100,1}),其中13*10000,11*100,7*1。這一步的意義是對不同的值進行加權,以兩位數進行間隔,分隔到不同位置。

最後使用SUM函數對乘積結果求和,得到131107。其中前兩位是年。中間兩位是月。最後兩位是日。

最外圍的TEXT函數第3參數為:"00年00月00日",也就是對SUM函數返回的結果每兩位分一個主人,前兩位分給年,中間兩位分給月,最後兩位分給日……

是不是很有意思?


如何快速記憶第3參數



最後呢,再給大家講一個小秘密。

有女朋友說了,DATEDIF的第3參數也太亂了。一會YM,一會MD,一會又YD的,這誰整的明白啊?

打個響指,聽我說。最後一個字母是要計算的目標,第1個字母是計算目標的忽視範圍內的上一級。

比如YM,目標是整月,忽視日和年。M是month的首字母,也就是月的意思,月的上一級是年year,Y是year的首字母。

比如MD,目標是天,忽視月和年。D是day的首字母,也就是日的意思,日的上一級是月,也就是M。

有朋友就說了,瞎扯,YD就不符合這規則——其實是符合的。YD的意思是忽視年,計算天數。計算目標是D。D的上一級應該是月,但是,由於月並不在忽視的範圍內,所以D的上一級當然是Y……

信不信由你,反正我信了。

……
……

友情提示,DATEDIF是一個天生攜帶BUG的函數,在計算日期臨近月底最後一天時,可能會導致計算出錯。通常這是可以接受的,但如果計算數據要求特別嚴格,這當然也是不可以接受的。請視情況選擇是否使用該函數。

關於bug的討論,參考論壇經典帖子▼
http://club.excelhome.net/thread-463826-1-1.html
文件下載百度網盤..▼
https://pan.baidu.com/s/1moWK1c7RB-dp6Yp6eDHB0A
提取碼: fkvq


♥♥溫馨小提示▼

公眾號每天會發布1篇函數教程+1篇編程教程+1個技巧小視頻,如果你沒有收到我的更新,是由於微信按算法顯示公眾號而不是實際更新時間——這時就需要如下圖所示星標我一下啦,撒花✿

右下角↘你懂得~

相關焦點

  • excel日期函數:如何計算項目的開始和完成日期
    在上一篇文章中,我們說到了EDATE、DATEDIF、EOMONTH、WEEKDAY等日期函數,相信大家對於excel中的日期計算,已經有了一個大致的了解,今天我們繼續上篇內容,為大家帶來兩個比較冷門,但又非常好用的日期函數,一起來看看吧!
  • excel日期函數:如何計算項目的開始和完成日期
    在上一篇文章中,我們說到了EDATE、DATEDIF、EOMONTH、WEEKDAY等日期函數,相信大家對於excel中的日期計算,已經有了一個大致的了解,今天我們繼續上篇內容,為大家帶來兩個比較冷門,但又非常好用的日期函數,一起來看看吧!
  • excel日期函數:不同日期函數的返回值解析
    在前不久的文章中,我們給大家分享了在excel中錄入日期的格式,不知道大家還記得嗎?不記得的小夥伴可以看看教程《在excel裡,80%的職場人錄入的日期都是錯的!》複習一下。上回我們說到了日期的格式,這回就該說日期的計算了。
  • excel日期函數:不同日期函數的返回值解析
    在前不久的文章中,我們給大家分享了在excel中錄入日期的格式,不知道大家還記得嗎?不記得的小夥伴可以看看教程《在excel裡,80%的職場人錄入的日期都是錯的!》複習一下。上回我們說到了日期的格式,這回就該說日期的計算了。
  • excel通過分列將文本轉換為日期,並運用datedif函數計算相隔時間
    >today()函數 當前日期now()函數 當前日期的當前時間下面給大家介紹一下通過分列轉換日期格式以及怎樣根據日期計算相隔的天數。關於datedif函數:當我們輸入datedif函數時,編輯欄不會彈出此函數的提示,按編輯欄左邊的插入函數也找不到,但是datedif函數在excel中確實存在,只是使用時完全需要我們手工輸入。
  • 有哪些關於計算的excel函數?
    是精通各種函數了呢?還是目前只會求和呢(滑稽);excel作為Microsoft office裡最難學習的辦公軟體(至少對於小編來說是的),其功能也是最豐富的。學習excel,我們也需要慢慢一步一步來,日積月累嘛。學習excel,最主要的就是先學習excel的函數!因為真的很方便!
  • EXCEL函數公式大全利用TODAY函數與DATEDIF函數自動計算員工工齡
    EXCEL函數公式大全之利用TODAY函數與DATEDIF函數的組合自動計算員工工齡。excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數TODAY函數與DATEDIF函數。
  • EXCEL函數公式大全之利用TEXT函數將日期文本轉換成標準日期格式
    EXCEL函數公式大全之利用TEXT函數將日期文本轉換成標準日期格式。excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數TEXT函數。在日常工作中往往由於我們的粗心大意,把日期格式數據製作成文本格式。
  • Excel計算當月天數,三個函數公式,你喜歡哪個?
    Excel計算當月天數,肯定會涉及到日期函數,比如DAY、EOMONTH、DATE等等相關的日期函數。
  • Excel函數公式教程:9個絕對用得上的excel日期公式,趕緊拿走!
    ,解決常見的日期類問題。溫馨提示:加入下面QQ群:1003077796,下載教程配套的課件練習操作。 NETWORKDAYS(開始日期,結束日期),用於計算一段時間內排除了周六和周日的天數,也就是工作日的天數。 在本例中,開始日期和結束日期是用了例1中的公式得到的,因此最終公式為:=NETWORKDAYS(EOMONTH(A2,-1)+1,EOMONTH(A2,0)) 4.
  • EXCEL函數學習DATEDIF,日期計算的利器
    Excel中的datedif函數是一個十分方便的日期計算函數,通過該函數可以計算兩個日期之間的年數,月數和天數。Excel函數Datedif的語法:DATEDIF(start_date,end_date,unit) Start_date 為起始日期,即為第一個日期或起始日期End_date 為結束日期,即為時間段的最後一個日期或結束日期。 Unit 為返回類型。 使用Unit的參數為"Y" ,計算兩個時間段的整年數。
  • excel中如何計算日期差值,用DATEDIF即可搞定,只不過他被隱藏了
    計算兩個日期之差,你是怎麼做的呢?我想很多人都是用大日期減去小日期,我們這樣做得的是兩個日期的天數之差,想要精確的獲得年份月份之差用這種方法顯示是不行的,那麼excel中好像也沒有專門用於計算兩個日期之差的函數啊。
  • excel中日期和時間的計算在實際操作中的難題與解決方法
    今天我們就不再講述excel條件格式的相關內容,今天的內容是了解和認識excel中日期和時間的計算過程。可能有人咋一看,會認為日期和時間的計算是意見蠻容易的事情。在日常生活當中,這確實挺容易的,簡單的我們依靠口算都能得出結果,但是在excel工作表中,要想計算出一個格式和計算結果都正確的,總了那麼一點小波折!
  • excel表格,如何計算日期的天數或時間差
    在excel中如何單獨計算日期的天數或時間差。對於日期和時間,之間的差,例如:日期時間差的公式,結果要小時(如134.5小時),比如2016年2月10日 13:26到2016年3月6日 10:40相距多少個小時,怎麼實現呢?首先,單獨計算兩個日期之間的天數。
  • excel怎麼計算兩個日期之間天數和時間計算
    在excel中,兩個日期直接相減就可以得到兩個日期間隔的天數,如下圖:計算兩個日期之間的天數,也可以用隱藏函數DATEDIF函數來完成,公式如下:=DATEDIF(A2,B2,"d")DATEDIF()函數知識點介紹:這個函數語法是這樣的:=DATEDIF(開始日期,結束日期,第三參數),第三參數可以有若干種情況,分別可以返回間隔的天數、月數和年數
  • Excel必會的15個日期函數
    今天和大家分享一下Excel中常用的15個日期函數。日期函數主要用於計算財務,稅務,日期,星期、年齡、工齡、利息,以及數據匯總等等,用途十分的廣泛。1.=WEEKDAY(TODAY(),2),返回6,這個符合中國人的習慣。數字 1(星期一)到 7(星期日)。11.
  • 算日期你還在翻日曆?5個日期函數,讓你從此告別日曆
    大家好我是雨果,這節課我們繼續學習函數,工作中我們經常會遇到關於日期方面的問題,比如算天數,求日期,求星期等等,這些問題都可以用日期方面的函數解決,我們這節課就重點講這3個方面的內容。看圖:第二種方法就是快速填充,使用快速填充的時候大家要注意,快速填充它有一個參考對象和判斷過程,判斷的準不準取決於參考對象詳不詳細,所以我們儘量多輸入幾個參考對象,讓excel判斷起來更加準確,如圖:下面我們來講怎麼從身份證號碼中提取年齡,這裡面需要使用datedif函數,這個函數有3個參數,datedif(
  • excel函數公式應用:時間日期提取公式匯總,你用過哪些?
    如何快速計算某日期是年內第幾周、星期幾,以及日期之間間隔的天數、月數、年數、小時數、分鐘數?如何快速補全指定月份日期,合併日期和時間?今天老菜鳥針對上述在日常工作中經常會遇到的問題,總結了20個常用的關於日期和時間的公式,趕緊來看看吧!學習更多技巧,請收藏關注部落窩教育excel圖文教程。
  • excel根據出生日期自動計算(年齡、星座、生肖)的方法
    在工作辦公中,我們基本都會使用到excel軟體編輯表格,excel軟體中的函數公式可以快速的對表格裡的內容進行計算,從而大大的減輕了我們的工作量。這次小編給大家分享下,根據excel表格裡的出生日期,自動計算年齡、生肖和星座的方法。
  • excel函數的嵌套真強大,根據身份證號碼計算年齡,1步即可搞定
    mid函數提取出生日期我們都知道身份號碼一共是18位,七到十四位是我們出生日期的數字,首先我們必須要將七到十四位的數字提取出來,想要達到這樣的效果我們可以使用mid函數出生日期公式:=MID(A2,7,8)第一參數:A2,身份證號碼所在單元格