夜雨聆风学习资料网

ARTICLE · 1160434

Excel TEXT函数格式化日期和数字的常用代码大全

Excel TEXT函数格式化日期和数字的常用代码大全

TEXT 函数的作用是把日期或数字按指定代码转成文本,写法是 =TEXT(值,"格式代码")。它最实用的地方,是在拼接文字时保住日期和数字的显示格式,比如把 2024/5/20 变成「2024年05月20日」,或者把 0.156 变成「15.6%」。

一、TEXT 的基本写法

=TEXT(要格式化的值,"格式代码")

格式代码必须用英文双引号包起来。假设 A2 是日期 2024/5/20:

=TEXT(A2,"yyyy年mm月dd日") 返回 2024年05月20日

直接写 =TEXT(A2,yyyy) 会报 #NAME?,这是新手最常犯的错。

二、日期时间常用代码

代码
含义
示例结果
yyyy
四位年份
2024
yy
两位年份
24
m / mm
月份,mm 补零
5 / 05
mmm
月份缩写(随系统语言)
5月(英文环境 May)
d / dd
日,dd 补零
2 / 02
ddd / dddd
星期缩写 / 全称(随系统语言)
周一 / 星期一(英文环境 Mon / Monday)
aaaa
中文星期
星期一
h:mm:ss
时间
9:30:00
AM/PM
上下午标记
AM

注意:mmm、ddd 这类代码的显示结果跟随系统语言。中文版 Excel / WPS 里 mmm 得到「5月」、ddd 得到「周一」;要强制显示英文,写成 [$-409]mmm、[$-409]ddd。

想要中文星期,除了 aaaa,也可以写 =TEXT(A2,"周aaa") 得到「周一」。要显示成 2024-05-20 就写 =TEXT(A2,"yyyy-mm-dd");只要月份和日,写 =TEXT(A2,"m月d日"),返回 5月20日。

三、数字常用代码

代码
作用
示例结果
0
四舍五入取整
1235
0.00
固定两位小数
1234.57
#,##0
千分位分隔
1,235
#,##0.00
千分位加两位小数
1,234.57
0%
百分比取整
16%
0.0%
百分比保留一位小数
15.6%
0.00E+00
科学计数法
1.23E+03
#
只显示有效数字,不补零
1235

假设 A2 是 1234.567,=TEXT(A2,"#,##0.00") 返回 1,234.57;=TEXT(A2,"0%") 则返回 123457%。

四、带单位的进阶写法

想在数字后面加「元」,或者自动换算成万元:

=TEXT(A2,"0.00元")=TEXT(A2/10000,"0.0万元")

要用分号分段,可以写三段格式(正数;负数;零),需要连文本一起区分时再补第四段(正数;负数;零;文本):

=TEXT(A2,"0.00;[红色]-0.00;零") 或 =TEXT(A2,"0.00;[红色]-0.00;零;@")

还能把自定义文字直接塞进格式里,比如 =TEXT(A2,"第0名") 返回「第8名」,=TEXT(A2,"000000") 能把 25 补成 000025 这种定长编号。

五、TEXT 和单元格格式有什么区别

很多格式代码两边通用,但有两点不同:单元格格式只改变显示样子,值本身没变,仍然能参与计算;TEXT 会真的把结果转成文本。

另一个区别是 TEXT 能把格式化结果直接拼进句子里。假设 A2 是日期、B2 是金额,要生成一句提醒:

="请于"&TEXT(A2,"m月d日")&"前支付"&TEXT(B2,"0.00元")

如果只靠单元格格式,这句文字就没法自动生成。所以「只要显示」用单元格格式,「要拼接」用 TEXT,这是最实用的分工。

还要注意,格式代码里的字母不区分大小写,m 和 M 效果一样;但月份 m 和分钟 m 会冲突,写时间时建议把时分放在日期之后,例如 =TEXT(A2,"yyyy-mm-dd hh:mm"),避免把分钟识别成月份。

六、常见问题

TEXT 结果是文本,不能求和?确实不能。TEXT 返回的是文本,需要参与计算就保留原始数字列,只把 TEXT 结果用来展示。

格式代码里能用中文吗?可以,中文会原样输出,例如「yyyy年mm月dd日」「0.0万元」,这是 TEXT 比单元格格式更灵活的地方。

WPS 表格同样支持吗?支持。TEXT 的日期与数字代码在 Excel 和 WPS 表格中通用,「aaaa」显示中文星期也是两边都行。

小结:记住 yyyy、mm、dd、aaaa 管日期,0、#、%、千分位管数字,再用分号和自定义文字组合,TEXT 就能输出任何你想要的显示格式。

相关学习资料