大家去醫(yī)院看病的時候,不知道有沒有注意過,醫(yī)生打印出來的單據(jù)上,年齡是生物學(xué)上的真正年齡(當(dāng)然,希望大家都身體健康,不要生?。?/p> 這是什么意思呢?舉個極端的例子,兩個人的出生年月日可能只相差一天,但顯示的年齡卻差了一歲。 為何如此?因?yàn)槠渲幸粋€人的生日還沒有到,就被視為尚未滿下一歲,因此會自動扣除一歲。 在 Excel 中是否能按這個規(guī)則計(jì)算出年齡呢? 案例: 根據(jù)下圖中 A 列的身份證號碼,在 C 列提取出生日期,在 D 列計(jì)算出實(shí)際年齡,如果生日還沒到,則自動減去一歲。 效果如下圖 2 所示。 解決方案:1. 在 C2 單元格中輸入以下公式 --> 下拉復(fù)制公式: =TEXT(MID(A2,7,8),"0-00-00") 公式釋義: MID(A2,7,8):從 A2 單元格字符串的第 7 位開始,一共提取 8 位字符串 =TEXT(...,"0-00-00"):將 MID 函數(shù)提取的字符串轉(zhuǎn)換日期的樣子;但此時的結(jié)果僅僅是看上去像日期,還不是真正的日期格式,尚且不能參與后續(xù)的計(jì)算 有關(guān) text 函數(shù)的詳解,請參閱Excel函數(shù)(七) –用Text看我格式72變。 2. 在 B2 單元格中輸入以下公式 --> 下拉復(fù)制公式:=DATEDIF(--C2,TODAY(),"y") 公式釋義: --C2: 剛才已經(jīng)說過,text 提取出來的字符不是真正的日期格式,所以需要在 C2 前面添加兩個減號,這叫做減負(fù)運(yùn)算,即負(fù)負(fù)得正,從而將文本格式的數(shù)值變成真正的日期格式; 如果將“--”替換成“1*”,也可以實(shí)現(xiàn)同樣的效果 TODAY():今天的日期 DATEDIF(--C2,TODAY(),"y"): 計(jì)算出生日期和今天日期之間的差值,返回整年數(shù); 第一個參數(shù)是開始日期,第二個參數(shù)是結(jié)束日期; "y"表示時間段中的整年數(shù) 有關(guān)公式中“--”的含義和 datedif 函數(shù)的詳解,請分別參閱以下推文: |
|