與 30萬 讀者一起學(xué)Excel 盧子:Text一個(gè)很神奇的函數(shù),可以將數(shù)據(jù)變化成你想看到的任何形式,有萬能函數(shù)之稱。 網(wǎng)友:萬能?這么牛逼,真想好好見識(shí)下。 盧子:N年前在日企工作,經(jīng)常會(huì)寫一些日語格式的星期幾、數(shù)字、日期,你們覺得輸入這些是不是很麻煩? 網(wǎng)友:看都看不懂,別說輸入了,那你日語一定很厲害吧,經(jīng)常輸入這些。 盧子:其實(shí)我有一個(gè)秘密一直沒跟外人說,我壓根兒不會(huì)日語,也很少用有道詞典翻譯。 網(wǎng)友:那你怎么輸入這些? 盧子:我是借助自定義單元格格式跟Text函數(shù)而搞定這些,下面開始了解一些Text的基礎(chǔ),最后我再將我的絕招說出來。 萬能當(dāng)然是夸張的說法,但確實(shí)很強(qiáng)大。其實(shí),Text的宗旨就是將自定義格式體現(xiàn)在最終結(jié)果里。Text函數(shù)主要是將數(shù)字轉(zhuǎn)換為文本。當(dāng)然,也可以對(duì)文本進(jìn)行一定的處理。 TEXT函數(shù)的語法:TEXT(值,要顯示的文本格式) Text返回的一律都是文本形式的數(shù)據(jù)。如果需要計(jì)算,可以先將文本轉(zhuǎn)換為數(shù)值,然后再計(jì)算。文本型數(shù)值遇到四則運(yùn)算會(huì)自動(dòng)轉(zhuǎn)為數(shù)值,比如+0。但文本會(huì)不參與Sum之類的函數(shù)運(yùn)算。 例子1 Text函數(shù)基本的數(shù)字處理方式。 =TEXT(12.34,"0") =TEXT(12.34,0) 含義是將數(shù)字12.34四舍五入到個(gè)位,然后以文本方式輸出結(jié)果,當(dāng)只有一個(gè)0的時(shí)候,引號(hào)可以不加。 =TEXT (12.34,"0.0") 得到12.3,可以看到效果是保留一位小數(shù)。小數(shù)點(diǎn)后寫幾個(gè)0,就是設(shè)置多少位小數(shù)。 "0":數(shù)字占位符。如果單元格的內(nèi)容大于占位符,則顯示實(shí)際數(shù)字,如果小于占位符的數(shù)量,則用0補(bǔ)足。 =TEXT (12.34,"00000") 就顯示為:00012。 "#":數(shù)字占位符。只顯有意義的零而不顯示無意義的零。小數(shù)點(diǎn)后數(shù)字如大于"#"的數(shù)量,則按"#"的位數(shù)四舍五入。 =TEXT(12.34,"#####") 就顯示為:12。如果設(shè)置為"###.##",12.1顯示為12.10;12.1263顯示為:12.13。 "0,0":里面的逗號(hào)是千分符。 =TEXT(123456,"0,0") 就顯示成123,456。 "G/通用格式":以常規(guī)的數(shù)字顯示。例如:10顯示為10;10.1顯示為10.1。 另外,前導(dǎo)0的效果,想顯示幾位就寫幾個(gè)0,也可以配合Rept函數(shù)來寫,REPT(字符,N),重復(fù)N次顯示字符,比如REPT(6,3)就是666。就是一個(gè)為數(shù)據(jù)前面加0的效果。 =TEXT(D2,REPT(0,D2)) 例子2 Text在日期時(shí)間處理方面的應(yīng)用。 先說說日期這種特殊的數(shù)據(jù)類型,日期2010/5/25,其實(shí)是數(shù)字40323。 =TEXT(40323,"yyyy/m/d") 可以顯示2010/5/25。Text是把日期所代表的真正的數(shù)字,來轉(zhuǎn)成所需要的日期格式的文本。而20100525,要顯示2010/05/25的話,要用上面介紹的0的方法: =TEXT(20100525,"0!/00!/00") 如果分隔符號(hào)用-就不需要加!。!就是強(qiáng)制顯示某字符,后面的案例會(huì)說。 =TEXT(20100525,"0-00-00") 公式中:yyyy可以用e來代替。mm,表示顯示兩位月份,m顯示一位。中間的連接號(hào),還可以換成其他。 text的結(jié)果是文本,如果text返回"2010/05/25"的話,再去設(shè)置格式就改變不了的。 例子3 Text表示四種數(shù)據(jù)類型。 =text(數(shù)據(jù),"正;負(fù);零;文本") text里面可以表示四種數(shù)據(jù)類型。正數(shù)、負(fù)數(shù)、零與文本,用分號(hào)隔開。根據(jù)數(shù)據(jù)的類型,返回對(duì)應(yīng)位置里的格式。 沒有分號(hào),代表一種格式。 2個(gè)分號(hào):表示單元格為兩種格式:分號(hào)前面為正數(shù)和0;分號(hào)后面為負(fù)數(shù)。 3個(gè)分號(hào):表示單元格為三種格式:第1部分用于正數(shù),第2部分用于負(fù)數(shù),第3部分用于0值。比如"0;-0;",將只顯示正數(shù)和負(fù)數(shù),但不顯示0;最后一個(gè)分號(hào)不能省略,如果寫成"0;-0"表示的是不一樣的含義。 =text(數(shù)據(jù),"1;2;3;@") @是文本的通配符,相當(dāng)于數(shù)值中的0。 =text(數(shù)據(jù),"1;2;3;@") =if(數(shù)據(jù)>0,1,if(數(shù)據(jù)<0,2,3)) 這兩種是一樣的。 當(dāng)數(shù)據(jù)大于0,返回1;小于0,返回2;等于0,返回3,是文本的話,返回其本身。根據(jù)分號(hào)內(nèi)的格式自動(dòng)分配。 =text(數(shù)據(jù),"1;;;") 這種,分號(hào)內(nèi)沒有要顯示的格式了,結(jié)果就顯示空。也就是,當(dāng)數(shù)據(jù)大于0時(shí),顯示1,其余顯示為空。3分號(hào),四類型。 例子4 強(qiáng)制符號(hào)方面的應(yīng)用。 =TEXT(A2,"0;!0;0;!0") 強(qiáng)制符號(hào)!有了它就可以強(qiáng)制顯示0了。大于0,顯示本身,其他顯示0。 例5 條件判斷方面的應(yīng)用。 效果1 =TEXT(A2,"[>10]0;1") =IF(A2>10,A2,1) 效果2 =TEXT(B2,"[>50]a;[>10]b;c") =IF(A2>50,"a",IF(A2>10,"b","c")) text很經(jīng)典的用法就是在條件判斷方面。因?yàn)榭梢允∽址?,?shù)組公式中常用。條件需要用中括號(hào)括起來。這時(shí),分號(hào)的作用就不是隔開正數(shù)、負(fù)數(shù)、零了。條件判斷的順序,是先左后右,如同if函數(shù)一樣。 例6 中文數(shù)字中的應(yīng)用。 效果1 =TEXT(A2,"[dbnum1]") 效果2 =TEXT(A2,"[dbnum2]") 效果3 =TEXT(A2,"[dbnum3]") 網(wǎng)友:頭大了,這么多,那里記得住。 盧子:你會(huì)自定義單元格格式嗎? 網(wǎng)友:這個(gè)會(huì)。 盧子:前面說了那么多,只是讓大家有一個(gè)初步的了解,知道Text函數(shù)可以做什么。這么多用法其實(shí)我也記不住,也無需記憶。 輸入任意一個(gè)數(shù)字,設(shè)置單元格格式為貨幣格式,然后查看自定義格式,復(fù)制自定義格式,輸入 =TEXT(23,”¥#,##0.00;¥-#,##0.00”) 利用同樣的方法,哪一種格式不會(huì)就設(shè)置單元格格式,再查看自定義格式代碼,這樣可以減輕我們的記憶負(fù)擔(dān)。 現(xiàn)在到了應(yīng)該解開最開始留下的那個(gè)日文輸入法的時(shí)候了。 默認(rèn)情況下,在特殊這個(gè)格式對(duì)應(yīng)的區(qū)域設(shè)置,中文(中國),但實(shí)際上這里是允許選擇任意國家的語言的。如果你選擇日語,在類型這里就出現(xiàn)很多跟日語有關(guān)的數(shù)字格式,你只要選擇這些就可以嘗試一些設(shè)置。 善于借助一切可以為我們減去記憶負(fù)擔(dān)的方法,這樣學(xué)習(xí)起來就變得更加輕松。 [DBNum2][$-411]aaaa [DBNum2][$-411]G/通用格式 [DBNum2][$-411]yyyy/m/d 網(wǎng)友:以前以為看到這些都要記住,原來很多都藏在自定義里,還有這個(gè)區(qū)域設(shè)置還第一次知道,以前從沒注意過這個(gè)問題,長見識(shí)了。 盧子:學(xué)習(xí)這些要有好奇心,有空點(diǎn)開一些你從沒點(diǎn)擊過的功能來看看,也許會(huì)發(fā)現(xiàn)很多你意想不到的功能。驚喜就由此產(chǎn)生。 作者:盧子,清華暢銷書作者,《Excel效率手冊(cè) 早做完,不加班》系列叢書創(chuàng)始人,個(gè)人公眾號(hào):Excel不加班(ID:Excelbujiaban) |
|