天天看點

Excel年齡計算公式在不同資料格式中的寫法

作者:Excel教程學習

excel中已知某人出生日期,怎麼計算他的年齡?!

在下圖資料表中包含了三種不同的資料格式,第一個是正常的日期格式的出生日期,第二個是一個文本的日期,第三個是一個身份證号碼。

Excel年齡計算公式在不同資料格式中的寫法

怎麼使用公式來計算出這三種資料類型的日期所對應的年齡,接下來分别進行三種公式的寫法介紹。

第一種:正常日期格式計算年齡

正常的日期格式包含兩種,一個是年月日之間用短橫杠“-”分隔的日期,另一個是斜杠“/”分隔的日期。

對于正常日期格式的年齡計算,我們可以直接使用日期差計算函數datedif,它的表達式為:=datedif(開始日期,結束日期,比對類型)

該函數有三個參數,第1和第2參數必須為日期格式,第3參數是要傳回的時間類型,是天還是年或者月份。

其作用是傳回開始日期到結束日期的時間差,結果可以用年、月、天數來表示。

我們先來輸入公式:

=DATEDIF(A2,TODAY(),"y")

Excel年齡計算公式在不同資料格式中的寫法

從表達式可知,today函數表達式作為結束日期,則表示目前日期減去A2所代表的的日期,然後傳回年數,這裡"Y"表示年數的比對類型。

當天日期是“2022-11-29”,減去出生日期“1987-03-19”,結果為35,則得到此人的年齡為35歲!

第一種:文本日期格式求年齡

如資料表“19870319”的日期并不屬于日期格式,而是一個文本日期,它無法被日期數直接進行運算,是以,我們需要先行對該文本日期進行格式的轉換。

Excel年齡計算公式在不同資料格式中的寫法

在excel中,能夠對文本進行統一的格式轉換的函數,隻有一個,即是TEXT函數。

于是作者輸入一個公式:

=DATEDIF(TEXT(A3,"0000-00-00"),TODAY(),"y")

這裡嵌套了text函數公式,作用是将文本日期轉換為上面所講的用橫杠分隔的正常日期格式,通過text函數格式轉換,使其成為能夠被日期函數datedif進行運算的一個日期值。

我們從下圖可見,其結果計算為35,則是正确的!

Excel年齡計算公式在不同資料格式中的寫法

第三種:身份證号碼計算年齡

由于資料是一個身份證号碼,那麼我們需要先提取出号碼中的出生日期。

提取文本指定字元串,我們可以使用mid函數,于是通過mid+text+datedif函數的嵌套,我們輸入一個組合公式:

=DATEDIF(TEXT(MID(A4,7,8),"0000-00-00"),TODAY(),"y")

Excel年齡計算公式在不同資料格式中的寫法

這裡mid函數是從号碼第7個字元開始,提取8個字元,正好是出生日期的8個字元,由于提取出來的并不是正常的日期格式資料,是以再利用text函數進行格式轉換,最後再使用datedif函數進行兩個日期的間隔計算,得出最後結果!

從上面幾個示例的公式介紹,大家可以注意到,主要是兩個日期的計算,使用datedif函數,關鍵是日期格式的轉換,可以使用text函數。

繼續閱讀