標籤:

EXCEL中的TEXT函數詳解

EXCEL 中的 TEXT 函數TEXT將數值轉換為按指定數字格式表示的文本。語法TEXT(value,format_text)Value 為數值、計算結果為數字值的公式,或對包含數字值的單元格的引用。Format_text 為「單元格格式」對話框中「數字」選項卡上「分類」框中的文本形式的數字格式。說明Format_text 不能包含星號 (*)。通過「格式」菜單調用「單元格」命令,然後在「數字」選項卡上設置單元格的格式,只會更改單元格的格式而不會影響其中的數值。使用函數 TEXT 可以將數值轉換為帶格式的文本,而其結果將不再作為數字參與計算。 A B1 銷售人員 銷售2 Buchanan 28003 Dodsworth 40%公式 說明 結果=A2&" sold "&TEXT(B2, "$0.00")&" worth of units." 將上面內容合併為一個短語 (Buchanan sold $2800.00 worth of units.)=A3&" sold "&TEXT(B3,"0%")&" of the total sales." 將上面內容合併為一個短語 (Dodsworth sold 40% of the total sales.)TEXT生成的幾種日期格式:(假設當前系統日期為2010年1月28日)YYYY=text(now(),"YYYY") (返回:2010)dbnum1=TEXT(NOW(),"[dbnum1]yyyy年m月d日") 中文小寫日期(返回:二○一○年一月二十八日)dbnum2=TEXT(NOW(),"[dbnum2]yyyy年m月d日") 中文大寫日期(返回:貳零壹零年壹月貳拾捌日)日期轉換把20080808修改成2008-08-08的格式可以用以下公式:=text("20080808","#-00-00")把英文月份化成數字月份:=MONTH(("Aug"&1))=MONTH(("August"&1))返回一個月的最後一天,就是用下一個月的第一天-1就行。得到上一個月的最後一天:=today()-day(now())確定季度:=text(roundup(month(now())/3,0),"[dbnum1]第0季度")返回星期:(假設當前系統日期為2010年1月28日,星期四)=weekday(now(),2) 返回:4=text(today(),"aaaa") 返回:星期四=text(today(),"aaa") 返回:四 (考勤表中用到)

返回最近星期天的日期=today()-weekday(today(),2)=today()-mod(today()-1,7)=today()+8-weekday(today())=today()+6-mod(today()-2,7)兩個日期相隔的星期天數:=int((weekday(date1,2)+date2-date1)/7)1.關於 TEXT(102,"!r0c00") 此類格式函數TEXT(102,"!r0c00") --->"r1c02"前面加個indirectindirect(TEXT(102,"!r0c00"),)---->INDIRECT("r1c02",)-->就是等於行1列2 即B1的值故展開=INDIRECT(TEXT(1002,"!r00c00"),)--->B10的值=INDIRECT(TEXT(1002,"!r00c0"),)--->B100的值=INDIRECT(TEXT(102,"!r00c0"),)------->B10的值 注意前後的變化繼續擴展:=INDIRECT(TEXT({101;102;103;201;202;203;301;302;303},"!r0c00"),)------->=INDIRECT({"r1c01";"r1c02";"r1c03";"r2c01";"r2c02";"r2c03";"r3c01";"r3c02";"r3c03"},)這個得到一個數組題外話:SMALL(ROW($A$1:$C$3)*100+COLUMN($A$1:$C$3),ROW(1:9))--可得到(張貼:只是為了學習這個方法)------------------------------->{101;102;103;201;202;203;301;302;303}2.關於此類TEXT({10;1;11;2;13;14;15;8;7;3},"[<=8]#;1")此類格式函數先了解一下: TEXT({10;1;11;2;13;14;15;8;7;3},"[<=8]#;1")引申出結果為{"1";"1";"1";"2";"1";"1";"1";"8";"7";"3"},意思就是說大於8的為1,小於等於8的為原來值看 =TEXT({10;1;11;2;13;14;15;8;7;3},"[>=8]#;1")如果修改成大於等於 引申出結果為{"10";"1";"11";"1";"13";"14";"15";"8";"1";"1"}繼續展開=TEXT({10;1;11;2;13;14;15;8;7;3},"[=8]#;1")--->={"1";"1";"1";"1";"1";"1";"1";"8";"1";"1"}=TEXT({10;1;11;2;13;14;15;8;7;3},"[<>8]#;1")--->={"10";"1";"11";"2";"13";"14";"15";"1";"7";"3"}=TEXT({10;1;11;2;13;14;15;8;7;3},"[<>""]#;1")-->={"10";"1";"11";"2";"13";"14";"15";"8";"7";"3"}題外話:(相關的例子)"[<="&LEN($A$6)&"]#;1"--->如果LEN($A$6) 等於8 那麼 就可以得到 "[<=8]#;1"ROW($1:$10)-1----->就可以得到 {0;1;2;3;4;5;6;7;8;9}這個數組10-ROW($1:$10)--->就可以得到 {9;8;7;6;5;4;3;2;1;0}這個數組

 

B

C

D

E

2

示例:查找字元串中第一個字母"a"的位置,如果沒有找到則返回0。  

3

字元串

位置

IF公式

Text公式

4

afair

1

=IF(FIND("a",B4&"a")>LEN(B4),0,FIND("a",B4&"a")) =TEXT(FIND("a",B4&"a"),"[>"&LEN(B4)&"]!0")

5

beat

3

=IF(FIND("a",B5&"a")>LEN(B5),0,FIND("a",B5&"a")) =TEXT(FIND("a",B5&"a"),"[>"&LEN(B5)&"]!0")

6

Excel

0

=IF(FIND("a",B6&"a")>LEN(B6),0,FIND("a",B6&"a")) =TEXT(FIND("a",B6&"a"),"[>"&LEN(B6)&"]!0")

 
推薦閱讀:

excel中sumif函數的幾種常見用法
Excel函數:Find的數組用法幾例
sum函數實例(一):總銷售額計算
算不盡購物網站折扣價,回頭看又是一年雙十一
淺談機器學習時代的哈希演算法(一)

TAG:函數 |