下面的Excel數據源截圖,是咱們excel教程公眾號后臺一位粉絲的問題。請小雅幫忙看看C列計算工齡的公式哪里有問題,為什么計算工齡會出錯。
小雅檢查過伙伴的數據源,C列的計算工齡的公式并沒有錯。錯在B列的日期不規范。 曾幾何時,我們在excel輸入日期也是這樣不按excel的規則來,比如20140821、2014.8.21等等這樣非規范方式表示的日期,也就是我們所說的偽日期、假日期,這些日期在進行計算的時候,就會出現上面小伙伴的問題。 小雅給小伙伴修改的公式為:=DATEDIF(–TEXT(B2,"#-00-00"),NOW(),"Y"),下拉就可以計算出工齡。 小雅是這樣給小伙伴解釋公式的: 因為excel可以識別以短橫線分隔的日期格式,因此小雅用text函數返回以短橫線的格式文本:TEXT(B2,"#-00-00")。這個公式可以將“20140821”,轉換為"2014-08-21"。 又因為text函數轉換后得到的日期是文本格式,因此小雅再在text函數前面加上兩個負號,作用就是“減負運算”,將文本型日期轉換為真正的日期格式。 除了使用—的方法,還可以使用*1等等形式,也可以將文本數值轉換為真正的數字,因此公式還可以修改為:=TEXT(B2,"#-00-00")*1。 轉換后的日期格式做為DATEDIF函數的第一參數就不會有錯了。 哎喲,自從小伙伴要求小雅寫公式的時候,盡量把公式也解釋清楚,方便大家理解公式的意義。實質上小雅還是希望大家想要全面系統學習,可以報名滴答老師的《Excel極速貫通班》。小雅除了在公眾號里面給大家分享互動,更多的時候也在扮演另外一個角色,在VIP學員群任助教,輔助老師教學,對伙伴們的各種問題進行答疑。 大家對報名課程有什么問題,也可以加小雅微信:13388182428溝通哈。
上面我們說了另外一種非標準日期,如下圖所示,如何轉換為標準日期?A2的假日期,通過公式:=–SUBSTITUTE(A2,".","/")轉換之后,還需要將單元格設置為“日期”格式喲!
SUBSTITUTE函數,小雅在前幾天的推送教程里面詳細講解過哦,所以這個函數就不再此贅述了。