TEXT函數可以將數值顯示為指定的數字格式。
什么情況下使用TEXT函數?
TEXT函數根據指定的數值格式將數字轉換成文本,它能夠:
將數值轉換成指定格式的文本
控制數字在字符串中的格式
在字符串中包含日期和時間
查找數據并顯示為指定格式的文本
從另一個工作表中獲取數據
根據列位置計算日期
TEXT函數語法
TEXT函數有兩個參數,其語法如下:
TEXT(value,format_text)
value: 可以是數值、能夠返回數值的公式,或者對數值單元格的引用。
format_text: 格式字符串。數值格式的設置可以參考《Excel揭秘2:自定義數字格式原理與應用》。
TEXT函數陷阱
使用TEXT函數可以將數值按指定格式格式化為文本,但并不是所有的格式字符串都有效,例如,使用公式=TEXT(K5,”[藍色]G/通用格式”)來設置單元格K5中的數值為藍色,但不會有任何效果。
示例1: 將數值轉換成指定格式的文本
在單元格C1中的公式為:
=TEXT(A1,”#,###,,”)& “百萬“
TEXT函數使用指定的數值格式將單元格A1中的值以百萬為單位顯示。
示例2: 控制數字在字符串中的格式
本示例在字符串中包含以指定格式顯示的銷售金額,公式為:
=”前3個月的平均銷售額:” & TEXT(AVERAGE(B2:B4),”¥#0.00″)
如果在字符串中直接鏈接到包含金額的單元格,將不會顯示前面的“¥”號。
示例3: 在字符串中包含日期和時間
本示例在字符串中以年月日和時間的格式顯示當前日期和時間,公式為:
=”本次更新的時間:” & TEXT(NOW(),”yyyy-m-dh:mm AM/PM”)
示例4: 查找數據并顯示為指定格式的文本
如下圖所示的工作表,在單元格A2中輸入門店名稱,單元格B2中將以前面帶人民幣符號、千位分隔符且保留兩位小數的格式顯示該門店的銷售額,公式為:
=TEXT(VLOOKUP(A2,A5:B10,2),”¥#,##0.00″)
TEXT函數應用指定的格式將VLOOKUP函數查找的結果轉換成文本。
示例5: 從另一個工作表中獲取數據
如下圖所示,在工作表Sample5的單元格B2中,要獲取具有與單元格A2中的值相同名稱的工作表“2017-8-18”的單元格B2中的值,如果直接使用公式:
=INDIRECT(“‘”& A2 & “‘!B2”)
會返回錯誤#REF,因為A2中的日期會轉換成日期序列數,這樣就不會與工作表名相匹配。此時,使用TEXT函數將單元格A2中的日期轉換成文本,以創建正確的工作表引用,從而正常地獲取數據。公式為:
=INDIRECT(“‘”& TEXT(A2,”yyyy-m-d”) & “‘!B2”)
示例6: 根據列位置計算日期
有時候,給定起始日期后,要計算其后的一系列日期。在本例中,給定接近2017年8月的星期一的日期,如單元格B2中的“2017-7-31”,要求得到8月每周工作日的日期區間,例如第1周為“7/31-8/4”。在單元格B8的中公式為:
=TEXT(StartDate+7*(COLUMN()-COLUMN(StartDate)),”m/d”)& “-” & TEXT(StartDate+7*(COLUMN()-COLUMN(StartDate))+4,”m/d”)
將單元格B2命名為“StartDate”,加上使用COLUMN函數計算的列數獲得的日期間隔得到日期,最后使用TEXT函數將日期格式化。將單元格B8向右拉至單元格F8,結果如下圖所示。