|
高級(jí)應(yīng)用部分: 一、在TEXT函數(shù)的條件格式中使用變量: 例題請(qǐng)按住F9 TEXT函數(shù)的條件格式公式樣式:text(數(shù)據(jù)源,"[條件1]顯示格式;[條件2]顯示格式;否則顯示格式;文本顯示格式") 條件格式可以全部或者部分使用變量,當(dāng)部分使用變量時(shí),條件和顯示格式的任何部分都可以使用變量,包括條件格式中的運(yùn)算符號(hào)。 當(dāng)使用變量時(shí),不使用變量的部分用引號(hào)("")引起來,然后用&符號(hào)與使用變量的部分連接起來,運(yùn)算后形成條件格式的樣式。 變量可以是單元格引用,公式(包括數(shù)組公式)、函數(shù)結(jié)果。 根據(jù)需要,條件格式的每個(gè)部分或者全部可以省略不使用。 1、條件格式全部使用變量:見格式舉例部分,條件格式完全使用的是單元格引用。 2、在條件代碼中使用變量 公式樣式: =text(數(shù)據(jù)源,"[運(yùn)算符號(hào)"&變量&"]格式代碼;[運(yùn)算符號(hào)"&變量&"]格式代碼;格式代碼") 運(yùn)算符號(hào)應(yīng)是比較運(yùn)算符:>、=、<、>=、<=、<>。 格式代碼是自定義單元格的代碼(顏色代碼除外)。 例子: 0.1561 隨機(jī)數(shù)<0.3 判定隨機(jī)數(shù)大小 0.4085 隨機(jī)數(shù)>0.3 > 運(yùn)算符號(hào)用單元格引用 3、在格式代碼中使用變量 公式樣式: =text(數(shù)據(jù)源,"條件代碼"&變量&";條件代碼"&變量&";"&變量) 例子: 0.09322163 0.0932 0.00 0.0000 0.0 B13>0.5顯示兩位小數(shù),B13<0.3顯示一位小數(shù),其它則顯示四位小數(shù) 15 非月份數(shù)據(jù) B20=10時(shí)出現(xiàn)錯(cuò)誤 在格式代碼中使用變量時(shí),要注意引用的變量中是否有不能顯示為原義字符的字符,如0。 可用公式: 非月份數(shù)據(jù) 當(dāng)然可以在條件部分和格式部分同時(shí)使用變量,此處不在舉例,有興趣的可以根據(jù)上面的公式自己組合。 4、條件格式中使用函數(shù)公式 如:text()與REPT()聯(lián)合使用 例1: 123456789 10¥ 20¥ 30¥ 40¥ 50¥ 60¥ 70¥ 80¥ 90¥ A26=123456789,如何在C26顯示10¥ 20¥ 30¥ 40¥ 50¥ 60¥ 70¥ 80¥ 90¥ ,公式C26=SUBSTITUTE(TEXT(A26,REPT("0] ",9)),"]","0¥") 例2:將"*"號(hào)前后的數(shù)字統(tǒng)一補(bǔ)足4位數(shù),不足4位的前面補(bǔ)"0" 原格式 公式 1*12*234*254 0001*0012*0234*0254 10*234*56*211 0010*0234*0056*0211 1*1*25*36 0001*0001*0025*0036 以上公式只是演示在條件格式中使用變量的方法,大家可以根據(jù)該方法靈活運(yùn)用,解決實(shí)際問題。 例3:怎樣才能去掉每組數(shù)前面的0呢 原格式 公式 121 1,21 30523 3,5,23 4502 45,2 123 1,23 567030612 5,67,3,6,12 二、與IF函數(shù)比較 例題請(qǐng)按住F9 text的一般格式"正數(shù);負(fù)數(shù);零;文本"對(duì)于處理數(shù)據(jù)來說,最多可以有四部分,但第四部分是數(shù)據(jù)源是非數(shù)據(jù)時(shí)的顯示值,如: 正 10 加[]判斷時(shí)的條件格式也最多只能加四個(gè)判斷條件格式,與IF函數(shù)對(duì)比如下: 1、當(dāng)有一個(gè)的時(shí)候,如:text(A1,"[>條件1]顯示1"),相當(dāng)于IF(A1>條件1,顯示1,A1); 你好 你好 23.75102578 2、當(dāng)有兩個(gè)時(shí),如:text(A1,"[>條件1]顯示1;顯示2")相當(dāng)于IF(A1>條件1,顯示1,顯示2) 你好 你好 text(A1,"[>條件1]顯示1;")相當(dāng)于IF(A1>條件1,顯示1,""); 你好 你好 3、當(dāng)有三個(gè)時(shí),如:text(A1,"[>條件1]顯示1;[>條件2]顯示2;顯示3)相當(dāng)于IF(A1>條件1,顯示1,IF(A1>條件2,顯示2,顯示3)) text(A1,"[>條件1]顯示1;[>條件2]顯示2;顯示3)相當(dāng)于IF(A1>條件1,顯示1,IF(A1>條件2,顯示2,顯示3)) 你好 你好 你好 你好 4、當(dāng)有四個(gè)時(shí),如:text(A1,"[>條件1]顯示1;[>條件2]顯示2;顯示3;顯示4)相當(dāng)于IF(ISTEXT(A1),"顯示4",IF(A1>條件1,顯示1,IF(A1>條件2,顯示2,顯示3))) 優(yōu) 優(yōu) text(A1,"[>條件1]顯示1;[>條件2]顯示2;顯示3;)相當(dāng)于IF(ISTEXT(A1),"",IF(A1>條件1,顯示1,IF(A1>條件2,顯示2,顯示3))) 三、TEXT函數(shù)的第一個(gè)參數(shù)研究 1、第一個(gè)參數(shù)為一個(gè)單元格引用 這種情況是比較常見的,具體例子可以看格式舉例部分。 2、第一個(gè)參數(shù)為多單元格引用 日期 求出B57:B62區(qū)域中最小的年份、月份 1985-06-17 05:05:05 數(shù)組公式如下: 1906-07-19 06:06:06 1906年 1907-08-20 07:07:07 2月 1999-02-14 00:00:00 19060719 2010-03-09 14:23:38 8日 2008-08-08 00:00:00 3、第一個(gè)參數(shù)為函數(shù)、公式 !A:A !B:B !C:C !D:D 4、第一個(gè)參數(shù)為2緯數(shù)組 姓名 性別 籍貫 出生年月 工號(hào) 張三豐 男 北京 1970年8月 KT001 李四光 女 天津 1980年9月 KT002 王麻子 男 河北 1975年3月 KT003 工號(hào) 姓名 籍貫 用VLOOKUP聯(lián)合TEXT從右往左查詢 KT001 張三豐 北京 TEXT({1,-1},)類似if({1,-1},,)的功能 5、第一個(gè)參數(shù)為多緯數(shù)組 優(yōu) 不及格 優(yōu) 不及格 優(yōu) 及格 不及格 及格 及格 四、錯(cuò)誤處理: 例題請(qǐng)按住F9 TEXT函數(shù)只能簡(jiǎn)單處理錯(cuò)誤值,對(duì)于出錯(cuò)的引用單元格本身不能在進(jìn)行引用計(jì)算。 公式樣式: =TEXT(--ISERROR(A1),"[=1]顯示值1;顯示值2")或者=TEXT(--ISERROR(A1),"[=0]顯示值1;顯示值2") 顯示值里不能包含A1,否則A1為錯(cuò)誤值時(shí)仍然出現(xiàn)錯(cuò)誤值。 1、錯(cuò)誤時(shí)顯示為錯(cuò)誤值,否則顯示歡迎你,=TEXT(--ISERROR(K44),"[=1]錯(cuò)誤值;歡迎你") 歡迎你 2、錯(cuò)誤時(shí)顯示為空值,否則顯示另外單元格的值,=TEXT(--ISERROR(K44),"[=1]"""";[=0]"&E91+1) 46 3、錯(cuò)誤時(shí)顯示為0,否則顯示另外單元格的值,==--TEXT(--ISERROR(K44),"[=1]!0;"&E91+1) 46 4、錯(cuò)誤時(shí)顯示另外單元格的值,否則也顯示另外單元格的值,=TEXT(--ISERROR(K44),"[=1]"&D91+1&";"&E91+1) 46 5、錯(cuò)誤時(shí)顯示為錯(cuò)誤值,否則顯示原值,此時(shí)會(huì)出錯(cuò),=TEXT(--ISERROR(K44),"[=1]錯(cuò)誤值;"&K44) 10 五、TEXT函數(shù)帶"0"、"."和"!"的解釋: 1)=TEXT(2,"[=2]我0;[=1]你;-1;"),此處0是占位符,結(jié)果是:我2 我2 2)=TEXT(2,"[=2]我!0;[=1]你;-1;") ,此處0前有!,不是占位符,被強(qiáng)制顯示,結(jié)果是:我0 我0 3)=TEXT(-222,"[=-222]3!00!00.00;[=1]"),此處第一和第三的0時(shí)被強(qiáng)制顯示,其它為占位符, 302202.00 所以小數(shù)點(diǎn)前只有兩位占位符,所以第二個(gè)0處顯示22,第四個(gè)0處顯示2,結(jié)果是:302202.00 4)TEXT(-2,"[=-2]我3!.0;[=1]"),此處小數(shù)點(diǎn)是被強(qiáng)制顯示的字符,即在小數(shù)點(diǎn)前各有一個(gè)占位符0,結(jié)果是:我32.2 我32.2 5)=TEXT(-2,"[=-2]我3!0.0;[=1]"),此處第一個(gè)0被強(qiáng)制顯示,只有“.0"才是占位符號(hào),結(jié)果是:我302.0 我302.0 6)=TEXT(-22.22,"[=-22.22]3!0!.0;[=1]"),此處只有3后面的“0.”都是強(qiáng)制顯示,只有最后一個(gè)才是占位符號(hào), 30.22 實(shí)際上沒有小數(shù)點(diǎn)及小數(shù)部分的占位符號(hào),結(jié)果是:30.22 7)=TEXT(-22.666,"[=-22.666]3!0!.0.00;[=1]"),此處的后面的“0.0”才是占位符號(hào),結(jié)果是:30.22.67 30.22.67 7)=TEXT(0.69,"[>0.2]0.5"),此處0.是占位符,0.69四舍五入為1.,結(jié)果是:1.5 1.5 解釋:在TEXT函數(shù)中,如果在"0"和"."前面沒有!(或者\(yùn)),就是占位符,否則就是被強(qiáng)制顯示的字符。只有有了小數(shù)點(diǎn)占位符號(hào)(不是!.), 小數(shù)點(diǎn)后面的小數(shù)部分才能被顯示,否則只顯示整數(shù)部分,并且沒有被顯示的部分會(huì)自動(dòng)四舍五入。 關(guān)于"0"、"."和"!"的詳細(xì)解釋請(qǐng)參考補(bǔ)充說明部分。 六、TEXT函數(shù)的參數(shù)中帶“-”的解釋: 1、TEXT函數(shù)的參數(shù)帶一個(gè)"-"號(hào)的解釋,見以下語句: 1)=TEXT(-1,"-2;[=-1]-3")顯示-3 -3 -3 2)=TEXT(-1,"[=-1]-2;-3")顯示-2 -2 -2 3)=TEXT(-1,"[=1]-2;-3")顯示--3 --3 #VALUE! -3 4)=TEXT(-1,"-2;[=-1]-3")顯示-3 -3 -3 5)=TEXT(-1,"[=1]-2;[=2]-3;-4")顯示--4 --4 #VALUE! -4 6)TEXT(-1,"[=1]-2;[=-1]"&-3)顯示-3 -3 -3 7)=TEXT(-1,"[=1]-2;[=2]-3;"&-45)顯示--45 --45 #VALUE! -45 8)=TEXT(-1,"[=1]-2;[=-1]"&-3&";"&-4)顯示-3 -3 -3 9)=TEXT(-1,"[=1]-2;[=2]-3;-你好;歡迎")顯示--你好 --你好 #VALUE! 10)=TEXT("-1","-2;[=-1]-3")顯示-3 -3 -3 個(gè)人解釋:第一個(gè)參數(shù)的“-”作為運(yùn)算符負(fù)號(hào)使用;如果第二個(gè)參數(shù)中[=第一參數(shù)]的條件出現(xiàn),則第二個(gè)參數(shù)的“-”作為運(yùn)算符負(fù)號(hào)使用; 如果第二個(gè)參數(shù)中[=第一參數(shù)]的條件沒有出現(xiàn),則作為字符符號(hào)使用并且如果且TEXT的條件只有一部分時(shí),顯示原值,有兩部分以上時(shí),則多顯示一個(gè)運(yùn)算符負(fù)號(hào)“-”。 2、TEXT函數(shù)的參數(shù)帶兩個(gè)"-"號(hào)的解釋,見以下語句: 1)=TEXT(--1,"[=1]-2;[=-1]-3;-4")顯示-2 -2 -2 2 2)=TEXT(--1,"[=1]--2;[=-1]--3;-4")顯示--2 --2 #VALUE! -2 3)=TEXT("--1","[=1]--2;[=-1]--3;-4")顯示--1 --1 #VALUE! -1 4)=TEXT(--1,"[=1]--2;[=-1]--3;-4")顯示--2 --2 #VALUE! -2 5)=TEXT(--1,"[=-1]-2;[=1]"&--3)顯示3 3 3 個(gè)人解釋:兩個(gè)“-”連用,如果“-”沒有在引號(hào)內(nèi),都作為運(yùn)算符負(fù)號(hào)使用;如果在引號(hào)內(nèi),緊挨著數(shù)字的一個(gè)作為運(yùn)算符負(fù)號(hào)使用,另一個(gè)“-”作為字符符號(hào)使用。 3、TEXT函數(shù)的兩個(gè)參數(shù)帶兩個(gè)以上"-"號(hào)連用,見以下語句: 1)=TEXT(---1,"[=1]--2;--3")顯示---3 ---3 #VALUE! #VALUE! -3 2)=TEXT(----1,"[=1]--2;--3")顯示--2 --2 #VALUE! -2 2 3)=TEXT(----1,"[=1]--2;--3")顯示--3 --3 #VALUE! -3 3 4)=TEXT(---6,"[=1]-2;--3")顯示-2 -2 -2 2 #VALUE! 5)TEXT(---6,"[=1]-2;--3;--4")顯示-6 -6 -6 6 #VALUE! 6)=TEXT(----1,"[=-1]--2;--3")顯示--3 --3 #VALUE! -3 3 7)=TEXT(---1,"[=1]--2;"&-3)顯示--3 --3 #VALUE! -3 8)=TEXT(----1,"[=-1]--2;"&---3)顯示-3 -3 -3 3 9)=TEXT("---1","[=1]-2;[=-1]--3;-4")顯示---1 ---1 #VALUE! #VALUE! -1 10)=TEXT("----1","[=1]--2;[=-1]--3;-4")顯示----1 ----1 #VALUE! #VALUE! #VALUE! -1 概括: 1)第一參數(shù)的“-”號(hào)如果多于1個(gè)且在引號(hào)內(nèi),則第一參數(shù)為字符。 2)第一參數(shù)的“-”號(hào)如果只有1個(gè)或者多于1個(gè)但沒在引號(hào)內(nèi),則第一參數(shù)為數(shù)值。 3)如果第一參數(shù)的計(jì)算結(jié)果為正數(shù),第二個(gè)參數(shù)的“-“不在引號(hào)內(nèi),"-"全部為運(yùn)算符符號(hào)使用。第二個(gè)參數(shù)的“-“在引號(hào)內(nèi)時(shí),緊挨著數(shù)字的一個(gè)“-”作為運(yùn)算符負(fù)號(hào)使用。 其它“-”作為字符符號(hào)使用。 4)如果第一參數(shù)的計(jì)算結(jié)果為負(fù)數(shù), 4-1)第二個(gè)參數(shù)的“-“不在引號(hào)內(nèi)時(shí):當(dāng)“-”為單數(shù)時(shí),則有1個(gè)作為字符使用,其它作為運(yùn)算符負(fù)號(hào)使用,雙數(shù)時(shí)全部“-”作為運(yùn)算符符號(hào)使用。 4-2)第二個(gè)參數(shù)的“-“在引號(hào)內(nèi),則緊挨著數(shù)字的一個(gè)“-”作為運(yùn)算符負(fù)號(hào)使用,其它“-”作為字符符號(hào)使用;并且如果第二參數(shù)中[=第一參數(shù)]的條件沒有出現(xiàn), 此時(shí)還要看TEXT的條件格式有幾部分:有兩部分且第二部分沒有條件時(shí)或者有三部分但第二部分有條件(=非第一參數(shù))時(shí),此時(shí)結(jié)果值前面還要多顯示一個(gè)“-”字符。 4、條件格式是區(qū)間,第一參數(shù)為負(fù)數(shù) 1)=TEXT(-3,"[<-4]-4;-5")顯示-5 -5 -5 5 2)=TEXT(-3,"[<3]4;-5")顯示-4 -4 -4 4 3)=TEXT(-3,"[>-4]-4;-5;-6")顯示--4 --4 #VALUE! -4 4)=TEXT(-3,"[<3]-4;-5")顯示--4 --4 #VALUE! -4 5)=TEXT(-3,"[<-4]-4;"&---5&";-6")顯示-5 -5 -5 5 6)=TEXT(-3,"[<-4]-4;[>4]--5;-6")顯示--6 --6 #VALUE! -6 對(duì)第二參數(shù)的個(gè)人解釋: 4-1)如果條件區(qū)間的范圍跨度包含正負(fù)數(shù)(第一部分[]不滿足條件且第二部分省略[]除外),就會(huì)多顯示一個(gè)負(fù)號(hào);如果條件區(qū)間僅在負(fù)數(shù)范圍內(nèi),就不會(huì)多顯示負(fù)號(hào)。 4-3)如果第一部分[]不滿足條件且第二部分省略[],此時(shí),顯示第二部分的原數(shù)值。 4-2)數(shù)字前的“-”都作為字符使用(第一部分[]不滿足條件且第二部分省略[]除外)。 七、關(guān)于INDIRECT+TEXT(數(shù)字,"r0C00")此類格式的應(yīng)用 1、解釋:TEXT(102,"r0c00") 函數(shù)的計(jì)算結(jié)果為"r1c02",前面再加個(gè)indirect函數(shù),相當(dāng)于INDIRECT("r1c02",),計(jì)算結(jié)果就是等于1行2列即B1的值。 故展開該函數(shù): =INDIRECT(TEXT(1002,"r00c00"),)--->B10的值 =INDIRECT(TEXT(102,"r00c0"),)---->B10的值,注意前后的變化 =INDIRECT(TEXT(103,"r00c0"),)--->C100的值 =INDIRECT(TEXT(1003,"r00c0"),)--->C100的值 =INDIRECT(TEXT(901,"r00c0"),)--->A90的值 INDIRECT(TEXT({1681;1682;1683;1691;1692;1693;1701;1702;1703},"!r00c0"),)-------> 得到一個(gè)數(shù)組INDIRECT({"r168c1";"r168c2";"r168c3";"r169c1";"r169c2";"r169c3";"r170c1";"r170c2";"r170c3"},) 1 4 7 45 45 2 5 8 3 6 9 2、怎么解決繁體版TEXT函數(shù)的R0C000用法問題? 問題:為什么在繁體版的Excel中使用INDIRECT+TEXT(數(shù)字,"R0C000")的解法不管用呢?怎樣解決? 回答:繁體版的格式代碼與R、C有沖突,需要加強(qiáng)制占位符!或\,用TEXT(數(shù)字,"!R0!C000")或者TEXT(數(shù)字,"\R0\C000")可以解決。 indirect與TEXT聯(lián)合應(yīng)用例子,將數(shù)字按S型排列: indirect函數(shù)的使用,請(qǐng)參考論壇chenjun版主的文章:函數(shù)的深入理解。
本文參考論壇文章: 1、你未曾見過的TEXT函數(shù)用法 2、TEXT 函數(shù)應(yīng)用技巧 | |