編按:大家試想一下,如果函數有職業(yè),那各函數的職業(yè)會是什么呢?別的先不說,就拿TEXT而言,它可以讓日期變數字、數字變日期、阿拉伯數字變大寫中文數字、金額元變萬元,連IF的條件判斷它也可以變出來…這簡直就是當之無愧的變裝女皇啊!
——————————
在Excel的函數中,有個被稱為魔法師的函數,它就是TEXT。在之前的教程中,我們就曾經領略過這個函數的魔法《最魔性的TEXT函數,看一眼就心動~》。
不過,今天,我們更樂意把它稱為變裝女皇!為什么呢?請往下看!
變裝一:八位數字變成日期
很多公司都會使用ERP系統(tǒng),某些系統(tǒng)中的日期是以8位數字的形式呈現的,當我們導出系統(tǒng)中的數據時,很可能會看到這樣的情況:
使用這樣的日期去做數據分析是不便的,需要將其變成標準的日期格式才行,請看TEXT的表演:
公式解讀:=TEXT(A2,"0年00月00日")
A2是需要處理的數據,奧秘在"0年00月00日"這一部分,0是占位符,使用年月日將8位數字分成三段。需要注意的是劃分從右往左進行,首先將A列最右邊的兩位數字當作“日”,然后挨著的左邊兩位當作“月”,最后剩下的四位數字只需要一個0就可以代表,這四位數字當作“年”。
這個公式完整的寫法是:=TEXT(A2,"0000年00月00日"),這樣八位日期數字就能看明白了!
變裝二:日期變成八位數字
在某些時候,還會遇到將日期變成八位數字的情況,既然TEXT能把八位數字變成日期,那么再變回去當然沒問題了:
公式解讀:=TEXT(H2,"emmdd")
H2是要處理的數據,不同的是后面的格式代碼相比上次完全不同了。
在第一個例子中,我們要處理的數據源是數字,因此用到了數字占位符0。但在這個例子中,數據源是日期,就不能用0了。e表示“年”,也可以用yyyy代替,m表示“月”,d表示“日”。一個e就是四位,再加上兩個m和兩個d,剛好就是8位。
變裝三:拆分日期和時間
把數字和日期之間的戲法耍過之后,來看看TEXT是如何拆分日期和時間的。
這種情況常見于考勤數據:
只有把打卡日期和時間分開才好做進一步的統(tǒng)計,TEXT真的可以辦到嗎?
拆分日期:
公式解析:=TEXT(B2,"e/m/d")
e表示年,m表示月,d表示日,很好理解。
拆分時間:
公式解析:=TEXT(B2,"h:mm:ss")
h表示時,m表示分,s表示秒。
戲法揭穿了其實一點也不難。
但是你可千萬別以為懂得這幾個代碼就能看穿TEXT,不信往下看……
變裝四:數字變大寫中文
這個戲法變得怎么樣!
公式解析:=TEXT(A2,"[DBNUM2]")
DBNUM2是針對于數字的特定代碼,需要放在一對中括號中。數字2還可以改成1和3,具體是什么效果你可以試試看,記得留言告訴大家你測試的結果哦!
對了,改成4也是可以的,至于5、6、7……
看到這一個例子,做財務工作的朋友估計會有想法了,能不能用TEXT函數將會計報表中的金額變成包含圓角分的大寫金額呢?
可以自己先試一下,如果需要這方面的教程記得留言告訴我們。
變裝五:金額元變萬元
連阿拉伯數字都能變成中文大寫數字,金額元變成萬元就更不在話下了:
公式解析:=TEXT(A2,"0!.0000萬元")
和第一個例子一樣,0還是占位符,不過這里多了一個感嘆號。如果沒有感嘆號,"0.0000"表示數字保留四位小數。在TEXT的秘密武器中,感嘆號用于在原有內容的某個位置強制增加感嘆號后的字符,所以我們在單元格中看到的那個小數點其實是在原數據千位數字左邊強行加進去的,最后加上“萬元”這個后綴,就變成這樣的效果了。
如果你覺得四位小數太多了,還可以保留一位小數:
公式解析:=TEXT(A2,"0!.0,萬元")
在這個公式中,特定代碼中間出現了一個逗號。這個逗號其實就是數字格式中的千位分隔符:
使用了千位分隔符后,數字就縮小了千倍,相當于變成以千元計的數字,因此只需要在最后一位數字的前面顯示小數點就能變成萬元計的數字。
什么!還想要兩位小數的……
這個要求雖說有些為難TEXT,但也不是不行。在之前的例子中,還從來沒有對第一參數動過手腳,只是在玩格式代碼,現在看來不出絕招是不行了:
公式解析:=TEXT(A2%%,"0.00萬元")
A2后面加兩個百分號,表示對單元格A2中的數字除以10000。既然已經對數據源做了手腳,格式代碼自然就不需要感嘆號了,直接按照數字的設置規(guī)則去做就好了。0.00表示以兩位小數顯示,當然也可以用0.0、0.000、0.0000去設置不同的小數位。
變裝六:搶IF的風頭做條件判斷
在日期、時間、數字、金額這些地方耍了一圈的TEXT,這次又跑到了IF的領域,連IF函數的風頭也想搶:
看上去表現還不錯,這又是什么套路呢?
公式解析:=TEXT((A2-B2)/A2,"上升0%;下降0%;持平;")
這次TEXT沒有使用格式代碼,而是用了一個新道具:分號。使用分號后,TEXT函數可以做條件判斷。
第一種,默認判斷:
套路是TEXT(數據,">0結果;<0結果;=0結果;文本的結果")。TEXT默認把數據分成四種類型,正數、負數、零與文本,不同的類型返回不同的結果。參數中各個結果之間依次用分號隔開。參數中第一個分號前的值是正數的返回值;第二個分號前的值是負數的返回值;第三個分號前的值是零的返回值,最后一個值是文本的返回值。
當(A2-B2)/A2為正數時,顯示上升和百分比的增長率;為負數時,顯示下降和百分比的下降率;為零時,顯示持平。
第二種,運算符判斷:
實際上TEXT函數還支持用比較運算符作為判斷的條件,例如成績大于等于85分為優(yōu)秀,大于等于60分為及格,60以下為不及格,使用TEXT的公式是這樣的:=TEXT(F2,"[>=85]優(yōu)秀;[>=60]合格;不合格")
在這種用法中,條件要放在中括號內,括號后面緊跟要顯示的內容。最后使用分號作為一組條件和結果的分隔符。
一個TEXT函數條件最多可以使用3個條件,如果多于3個條件,則返回錯誤值#VALUE!。對于一些簡單的判斷問題,使用TEXT函數不僅比IF更為簡短,而且看起來更高大上呢。
以前常遇到有人相問:日期改變格式、數據改變單位——現在是不是都能解決了?——收藏分享給更多小伙伴吧!
****部落窩教育-excel變裝函數TEXT****
原創(chuàng):老菜鳥/部落窩教育(未經同意,請勿轉載)