=TEXT(A2,"mmm d, yyyy") 把 A2 中的日期变成文本 Mar 15, 2026,=TEXT(B2,"$#,##0.00") 把数字 1250.5 变成 $1,250.50。第二个参数是放在引号中的格式代码,写法和“设置单元格格式 > 自定义”中的代码相同。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Date | Amount | Date as text | Amount as text |
| 2 | 2026-03-15 | 1250.5 | Mar 15, 2026 | $1,250.50 |
| 3 | Sunday | 1,251 | ||
| 4 | 2026-03-15 | 1250.5 |
修改 A2 中的日期或 B2 中的金额,六个文本都会跟着变。TEXT 在所有 Excel 版本和 Google 表格中都能用。
日期格式代码
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | Result | Date | |
| 2 | d | 5 | 2026-03-05 | |
| 3 | dd | 05 | ||
| 4 | ddd | Thu | ||
| 5 | dddd | Thursday | ||
| 6 | mmm | Mar | ||
| 7 | mmmm | March | ||
| 8 | dd/mm/yyyy | 05/03/2026 |
d和dd:日,不带前导零和带前导零。ddd和dddd:星期,简写和全称(Thu、Thursday)。更多内容见 WEEKDAY 页面。m、mm、mmm、mmmm:月份分别显示为 3、03、Mar、March。yy和yyyy:年份显示为 26 或 2026。
在 A 列中输入其他代码,比如 mmmm yyyy 或 ddd d mmm,B 列就会显示对应的结果。格式代码取决于 Excel 的语言:英文版 Excel 写 dd.mm.yyyy 的地方,德语版 Excel 写成 TT.MM.JJJJ。
| A | B | |
|---|---|---|
| 1 | Date | Weekday |
| 2 | 2026-03-09 |
轮到你了: 在 B2 中返回 A2 中日期的完整星期名称,比如 Monday。
数字、货币和百分比代码
| 代码 | 1234.567 变成 | 含义 |
|---|---|---|
0 | 1235 | 整数,四舍五入 |
0.00 | 1234.57 | 两位小数 |
#,##0 | 1,235 | 千位分隔符 |
$#,##0.00 | $1,234.57 | 货币 |
0% | 123457% | 乘以 100,加百分号 |
000000 | 001235 | 至少 6 位数字,补前导零 |
0 表示一位总会显示的数字,# 表示一位只在需要时才显示的数字。在这里试试:
| A | B | C | |
|---|---|---|---|
| 1 | Value | Code | Result |
| 2 | 1234.567 | 0.00 | 1234.57 |
| 3 | 0.256 | 0.0% | 25.6% |
| 4 | 42 | 000000 | 000042 |
| 5 | -1500 | #,##0;(#,##0) | (1,500) |
最后一个代码有用分号隔开的两节:第一节用于正数,第二节用于负数,这里像账目中常见的那样用括号表示负数。像第 4 行那样补零的做法见 前导零页面。
| A | B | |
|---|---|---|
| 1 | Rate | Label |
| 2 | 0.125 |
轮到你了: 在 B2 中把 A2 中的比率返回为带一位小数和百分号的文本,比如 12.5%。
把文本和格式化的数字或日期连接起来
这是使用 TEXT 最常见的原因。用 & 连接数字时会丢掉格式,所以连接的是存储的原始值:
| A | B | C | |
|---|---|---|---|
| 1 | Due | Amount | Message |
| 2 | 2026-04-30 | 1250.5 | Pay $1,250.50 by April 30 |
| 3 | Pay 1250.5 by 46142 |
C3 说明了原因:不用 TEXT 时,日期会以序列号的形式连接,金额则是普通数字。时间使用 "h:mm AM/PM" 或 "hh:mm" 这样的代码,超过 24 小时的时长用 "[h]:mm"。在 h 或 s 旁边时,mm 表示分钟,而不是月份。更多连接文本的内容见 连接文本。
常见错误:TEXT 让计算失效
TEXT 返回的是文本。它看起来像数字,但 SUM 会跳过它,单元格也会像文本一样对齐:
| A | B | |
|---|---|---|
| 1 | Price | TEXT(price,"0.00") |
| 2 | 12.5 | 12.50 |
| 3 | 8 | 8.00 |
| 4 | 20.25 | 20.25 |
| 5 | 40.75 | 0 |
B5 的合计是 0。如果你只是想让数字看起来不一样,就让它们保持数字,改为修改单元格格式:选中单元格,按 Ctrl+1(Mac 上按 Cmd+1),在“数字”下选择一种格式,或者在“自定义”下输入同样的代码。这样单元格看起来和 TEXT 的结果一样,而且仍然可以求和。
常见问题
Excel 中的 TEXT 函数是做什么的?
它按你给出的格式把数字或日期转换成文本:对 1250.5,=TEXT(A2,"$#,##0.00") 返回 $1,250.50。它主要用于在把值和其他文本连接时保留格式。
Excel 中怎样把日期转换成文本?
=TEXT(A2,"yyyy-mm-dd") 返回 2026-03-15;"mmm d, yyyy" 返回 Mar 15, 2026;"dddd" 返回星期名称,比如 Sunday。
为什么不能对 TEXT 的结果求和?
TEXT 返回文本,而 SUM 会跳过文本,所以一列 TEXT 结果的合计是 0。把数字保留在各自的单元格中,用“设置单元格格式”(Ctrl+1)改变它们的显示方式;TEXT 只用于标签。
为什么我的 TEXT 格式代码在德语或法语版 Excel 中不起作用?
日期代码跟随 Excel 的语言:德语版 Excel 把年写成 JJJJ,把日写成 TT,所以要写成 =TEXT(A2;"TT.MM.JJJJ")。从英文示例中复制的代码会把这些字母原样显示出来。