excel函數(shù)技巧:函數(shù)TEXT七助數(shù)據(jù)大變身

編按:大家試想一下,如果函數(shù)有職業(yè),那各函數(shù)的職業(yè)會是什么呢?別的先不說,就拿TEXT而言,它可以讓日期變數(shù)字、數(shù)字變?nèi)掌凇⒗當(dāng)?shù)字變大寫中文數(shù)字、金額元變?nèi)f元,連IF的條件判斷它也可以變出來…這簡直就是當(dāng)之無愧的變裝女皇??!
——————————
在Excel的函數(shù)中,有個被稱為魔法師的函數(shù),它就是TEXT。在之前的教程中,我們就曾經(jīng)領(lǐng)略過這個函數(shù)的魔法《最魔性的TEXT函數(shù),看一眼就心動~》。
不過,今天,我們更樂意把它稱為變裝女皇!為什么呢?請往下看!
變裝一:八位數(shù)字變成日期
很多公司都會使用ERP系統(tǒng),某些系統(tǒng)中的日期是以8位數(shù)字的形式呈現(xiàn)的,當(dāng)我們導(dǎo)出系統(tǒng)中的數(shù)據(jù)時,很可能會看到這樣的情況:

使用這樣的日期去做數(shù)據(jù)分析是不便的,需要將其變成標(biāo)準(zhǔn)的日期格式才行,請看TEXT的表演:

公式解讀:=TEXT(A2,"0年00月00日")
A2是需要處理的數(shù)據(jù),奧秘在"0年00月00日"這一部分,0是占位符,使用年月日將8位數(shù)字分成三段。需要注意的是劃分從右往左進(jìn)行,首先將A列最右邊的兩位數(shù)字當(dāng)作“日”,然后挨著的左邊兩位當(dāng)作“月”,最后剩下的四位數(shù)字只需要一個0就可以代表,這四位數(shù)字當(dāng)作“年”。
這個公式完整的寫法是:=TEXT(A2,"0000年00月00日"),這樣八位日期數(shù)字就能看明白了!
變裝二:日期變成八位數(shù)字
在某些時候,還會遇到將日期變成八位數(shù)字的情況,既然TEXT能把八位數(shù)字變成日期,那么再變回去當(dāng)然沒問題了:

公式解讀:=TEXT(H2,"emmdd")
H2是要處理的數(shù)據(jù),不同的是后面的格式代碼相比上次完全不同了。
在第一個例子中,我們要處理的數(shù)據(jù)源是數(shù)字,因此用到了數(shù)字占位符0。但在這個例子中,數(shù)據(jù)源是日期,就不能用0了。e表示“年”,也可以用yyyy代替,m表示“月”,d表示“日”。一個e就是四位,再加上兩個m和兩個d,剛好就是8位。
變裝三:拆分日期和時間
把數(shù)字和日期之間的戲法耍過之后,來看看TEXT是如何拆分日期和時間的。
這種情況常見于考勤數(shù)據(jù):

只有把打卡日期和時間分開才好做進(jìn)一步的統(tǒng)計,TEXT真的可以辦到嗎?
拆分日期:

公式解析:=TEXT(B2,"e/m/d")
e表示年,m表示月,d表示日,很好理解。
拆分時間:

公式解析:=TEXT(B2,"h:mm:ss")
h表示時,m表示分,s表示秒。
戲法揭穿了其實一點也不難。
但是你可千萬別以為懂得這幾個代碼就能看穿TEXT,不信往下看……
變裝四:數(shù)字變大寫中文

這個戲法變得怎么樣!
公式解析:=TEXT(A2,"[DBNUM2]")
DBNUM2是針對于數(shù)字的特定代碼,需要放在一對中括號中。數(shù)字2還可以改成1和3,具體是什么效果你可以試試看,記得留言告訴大家你測試的結(jié)果哦!
對了,改成4也是可以的,至于5、6、7……
看到這一個例子,做財務(wù)工作的朋友估計會有想法了,能不能用TEXT函數(shù)將會計報表中的金額變成包含圓角分的大寫金額呢?
可以自己先試一下,如果需要這方面的教程記得留言告訴我們。
變裝五:金額元變?nèi)f元
連阿拉伯?dāng)?shù)字都能變成中文大寫數(shù)字,金額元變成萬元就更不在話下了:

公式解析:=TEXT(A2,"0!.0000萬元")
和第一個例子一樣,0還是占位符,不過這里多了一個感嘆號。如果沒有感嘆號,"0.0000"表示數(shù)字保留四位小數(shù)。在TEXT的秘密武器中,感嘆號用于在原有內(nèi)容的某個位置強制增加感嘆號后的字符,所以我們在單元格中看到的那個小數(shù)點其實是在原數(shù)據(jù)千位數(shù)字左邊強行加進(jìn)去的,最后加上“萬元”這個后綴,就變成這樣的效果了。
如果你覺得四位小數(shù)太多了,還可以保留一位小數(shù):

公式解析:=TEXT(A2,"0!.0,萬元")
在這個公式中,特定代碼中間出現(xiàn)了一個逗號。這個逗號其實就是數(shù)字格式中的千位分隔符:

使用了千位分隔符后,數(shù)字就縮小了千倍,相當(dāng)于變成以千元計的數(shù)字,因此只需要在最后一位數(shù)字的前面顯示小數(shù)點就能變成萬元計的數(shù)字。
什么!還想要兩位小數(shù)的……
這個要求雖說有些為難TEXT,但也不是不行。在之前的例子中,還從來沒有對第一參數(shù)動過手腳,只是在玩格式代碼,現(xiàn)在看來不出絕招是不行了:

公式解析:=TEXT(A2%%,"0.00萬元")
A2后面加兩個百分號,表示對單元格A2中的數(shù)字除以10000。既然已經(jīng)對數(shù)據(jù)源做了手腳,格式代碼自然就不需要感嘆號了,直接按照數(shù)字的設(shè)置規(guī)則去做就好了。0.00表示以兩位小數(shù)顯示,當(dāng)然也可以用0.0、0.000、0.0000去設(shè)置不同的小數(shù)位。
變裝六:搶IF的風(fēng)頭做條件判斷
在日期、時間、數(shù)字、金額這些地方耍了一圈的TEXT,這次又跑到了IF的領(lǐng)域,連IF函數(shù)的風(fēng)頭也想搶:

看上去表現(xiàn)還不錯,這又是什么套路呢?
公式解析:=TEXT((A2-B2)/A2,"上升0%;下降0%;持平;")
這次TEXT沒有使用格式代碼,而是用了一個新道具:分號。使用分號后,TEXT函數(shù)可以做條件判斷。
第一種,默認(rèn)判斷:
套路是TEXT(數(shù)據(jù),">0結(jié)果;<0結(jié)果;=0結(jié)果;文本的結(jié)果")。TEXT默認(rèn)把數(shù)據(jù)分成四種類型,正數(shù)、負(fù)數(shù)、零與文本,不同的類型返回不同的結(jié)果。參數(shù)中各個結(jié)果之間依次用分號隔開。參數(shù)中第一個分號前的值是正數(shù)的返回值;第二個分號前的值是負(fù)數(shù)的返回值;第三個分號前的值是零的返回值,最后一個值是文本的返回值。
當(dāng)(A2-B2)/A2為正數(shù)時,顯示上升和百分比的增長率;為負(fù)數(shù)時,顯示下降和百分比的下降率;為零時,顯示持平。
第二種,運算符判斷:
實際上TEXT函數(shù)還支持用比較運算符作為判斷的條件,例如成績大于等于85分為優(yōu)秀,大于等于60分為及格,60以下為不及格,使用TEXT的公式是這樣的:=TEXT(F2,"[>=85]優(yōu)秀;[>=60]合格;不合格")

在這種用法中,條件要放在中括號內(nèi),括號后面緊跟要顯示的內(nèi)容。最后使用分號作為一組條件和結(jié)果的分隔符。
一個TEXT函數(shù)條件最多可以使用3個條件,如果多于3個條件,則返回錯誤值#VALUE!。對于一些簡單的判斷問題,使用TEXT函數(shù)不僅比IF更為簡短,而且看起來更高大上呢。
以前常遇到有人相問:日期改變格式、數(shù)據(jù)改變單位——現(xiàn)在是不是都能解決了?——收藏分享給更多小伙伴吧!
****部落窩教育-excel變裝函數(shù)TEXT****
原創(chuàng):老菜鳥/部落窩教育(未經(jīng)同意,請勿轉(zhuǎn)載)
更多教程:部落窩教育(www.itblw.com)
微信公眾號:exceljiaocheng