想在一句話裡放進日期和金額,結果出來卻是「46298」和「2075」,日期變成一串怪數字,金額也沒有千分位,這時候就是 TEXT 出場的時候了。
今天要來聊聊 TEXT,它可以把數字或日期,轉成你指定樣子的文字。
不用 TEXT 會怎樣
我手上有三筆收款紀錄,有日期跟金額:
| A | B | |
|---|---|---|
| 1 | 日期 | 金額 |
| 2 | 2026/09/28 | 1286 |
| 3 | 2026/09/30 | 342 |
| 4 | 2026/10/03 | 2075 |
我想把第 4 列組成一句話,用 & 把文字和儲存格接起來:
直接把日期和金額接進句子
="收款 NT$ "&B4&",日期 "&A4來看看結果:
| 公式 | 顯示結果 |
|---|---|
| 收款 NT$ 2075,日期 46298 |
日期變成 46298,那是日期序號,儲存格的「值」其實就是這個數字,日期的樣子只是格式在幫它穿衣服。這件事在 值與格式的分離 和 日期與時間入門 都講過。用 & 接字串的時候,格式不會跟過來,只剩下值。
要把「樣子」一起帶進句子,就要用 TEXT。
TEXT
TEXT 會依照你給的格式碼,把一個數值轉成文字。
語法
- 數值:要轉換的數字、日期、時間,也可以是儲存格參照。
- 格式:用雙引號包起來的格式碼,例如
"#,##0"、"yyyy/mm/dd"。
兩個參數都是必填。格式碼其實跟「格式」>「數值」>「自訂數字格式」裡能輸入的那一套是同一個概念,只是 TEXT 讓你直接寫在公式裡。
範例
回到剛剛那句話,金額加千分位、日期寫成 yyyy/mm/dd,就是:
用 TEXT 指定金額與日期的樣子
="收款 NT$ "&TEXT(B4,"#,##0")&",日期 "&TEXT(A4,"yyyy/mm/dd")TEXT(B4,"#,##0"):把 2075 轉成有千分位的文字。TEXT(A4,"yyyy/mm/dd"):把日期序號 46298 轉成「年/月/日」的文字。
結果是:
| 公式 | 顯示結果 |
|---|---|
| 收款 NT$ 2,075,日期 2026/10/03 |
就這麼簡單!
數字的格式碼
數字最常用的是這幾個符號:
0:一定要有的位數,不夠就補 0。#:有這一位才顯示,沒有就不顯示,也不會補 0。,:千分位。.:小數點。%:把數字乘以 100 再加上百分比符號。
直接看幾個例子,我把數字寫在公式裡,這樣你自己貼進去也能對照:
| 公式 | 顯示結果 | 說明 |
|---|---|---|
| 007 | 三位數,不夠補 0 | |
| 3.10 | 小數固定兩位 | |
| 3.1 | # 不會補 0 | |
| 1,234,568 | 千分位,小數四捨五入 | |
| 1,234,567.89 | 千分位加兩位小數 | |
| 26% | 0.256 乘以 100 再四捨五入 | |
| 25.6% | 百分比留一位小數 |
我個人金額幾乎都寫 "#,##0",因為 0 放在個位數,這樣金額是 0 的時候會顯示 0,不會變成空白。0 和 # 的差別,簡單來說就是「強制補位」跟「有才顯示」。
日期與時間的格式碼
日期常用的代碼是:
yyyy:四位數年份。mm、m:月份,mm會補成兩位數,m不補。dd、d:日,同樣dd補兩位數。ddd:簡短的星期。dddd:完整的星期。hh、mm、ss:時、分、秒。
用 A4 的 2026/10/03 來試:
| 公式 | 顯示結果 | 說明 |
|---|---|---|
| 2026/10/03 | 月、日補成兩位數 | |
| 2026-10-03 | 分隔號換成減號 | |
| 10/3 | 月、日不補 0 | |
| 09:05 | 時、分都補成兩位數 | |
| 9:05 | 時不補 0 | |
| 2026/10/03 14:05 | 日期加時間,一起轉 |
星期的 ddd 和 dddd,顯示的語言會跟著試算表的地區設定走。地區設定是台灣的話,會顯示成中文的星期:A4 是 2026/10/03, 得到「星期六」, 得到「週六」。其他地區設定下的字樣不一樣。如果你要的是固定的字樣,情境實戰那篇 有一個不依賴語系的寫法。
另外,mm 這個代碼會看位置:緊接在 hh 後面(或 ss 前面)的是分鐘,其他位置是月份。上面最後一個例子裡,兩種 mm 同時出現,結果沒有混在一起。細節和會出錯的情況,看 TEXT 格式碼進階陷阱。
TEXT 的結果是文字
這是用 TEXT 最容易踩到的地方:它回傳的不是數字,是文字。
我把金額轉成千分位的文字,放在 C 欄:
| A | B | C | |
|---|---|---|---|
| 1 | 日期 | 金額 | 金額文字 |
| 2 | 2026/09/28 | 1286 | 1,286 |
| 3 | 2026/09/30 | 342 | 342 |
| 4 | 2026/10/03 | 2075 | 2,075 |
C2 到 C4 的公式是 ,往下複製。現在對 C 欄加總:
| 公式 | 顯示結果 | 說明 |
|---|---|---|
| 0 | C 欄都是文字,範圍裡的文字會被略過 | |
| 3703 | B 欄才是真正的數字 | |
| FALSE | 問一下,C2 不是數字 |
所以我的習慣是,原始資料欄不動,只在最後組句子、組標題的那一步才用 TEXT。要加總就加總 B 欄,C 欄只拿來看。
日期也是一樣,TEXT(A4,"yyyy/mm/dd") 出來的是文字。要算天數的時候,請用原本的日期欄,不要拿這個字串來算。
如果真的需要把文字轉回數字,可以用 VALUE:
把千分位文字轉回數字
=VALUE(C2)會得到 1286,不過這是先把文字變數字的補救,能不轉換就不轉換,比較不容易出錯。
練習
百分比文字
B2 是 0.0731,想顯示成「7.3%」這樣的文字,公式怎麼寫?
補零的編號
想把數字 7 組成「A-007」,公式怎麼寫?
想看看 TEXT 在實際報表和訊息範本怎麼用,可以接著看 TEXT 實戰。格式碼的細節,像是 mm 什麼時候是月份、負數的負號、不同地區設定下的差別,放在 TEXT 格式碼進階陷阱。
我是喜特先生,Mr. Sheet,我們下個教學見!
接下來可以
相關文章
查看所有文章留言討論
共 0 則留言
