Excel TEXT函数怎么用:数字转换为指定格式文本
讲清Excel中TEXT函数的写法、常用格式代码和日期格式代码,说明它与单元格格式设置的区别,并给出核对结果的方法,适合需要把数字或日期拼进文字的读者。
在 Excel 里,数字和日期经常需要以特定样式出现在报告、合同编号或句子里,比如“总额:金额加上“元””,或者“2024-03-08”这样的日期。直接改单元格格式可以改变显示,但一旦要把结果和文字拼在一起,单元格格式就帮不上忙。TEXT 函数正是为这个场景设计的:它把数字按照你写的格式代码转换成文本。
这篇文章写给需要生成固定样式文本的读者,比如做报表的人、整理台账的人,或者经常要把日期写进标题的人。读完后,你应该能判断什么时候用 TEXT,能写出常用的数字与日期格式代码,并知道结果出错时该从哪里查起。
TEXT 函数怎么用?一句话结论
TEXT 函数的基本写法是 =TEXT(数值, "格式代码"),它会返回一段文本。需要生成“带千分位的金额”“固定位数的编号”“中文日期”这类结果时,直接用 TEXT 即可;只想让数字显示得更好看、仍然参与计算时,设置单元格格式更合适。
| 你的情况 | 推荐做法 | 原因 |
|---|---|---|
| 要把金额和“元”拼成一句话 | 用 TEXT 加 & 拼接 | 拼接的必须是文本,TEXT 能直接输出格式化后的文本 |
| 只想让表格里的金额显示两位小数 | 设置单元格格式 | 数值保持不变,后续求和、排序都不受影响 |
| 编号需要补足位数,如 007 | 用 TEXT(编号, "000") | 格式代码 0 会在前面补零,结果可直接用于拼接 |
| 日期要写成“2024 年 3 月 8 日”样式 | 用 TEXT 加日期格式代码 | 日期代码可以按你的顺序组合出中文样式 |
| 结果还要继续做加减运算 | 保留原数值,另建 TEXT 列展示 | TEXT 的结果是文本,直接参与运算会出错或得到不对的值 |
开始之前:先确认这几点
动手写公式之前,先确认下面几件事,可以避免大部分返工。
- 确认源数据是数字还是文本。TEXT 只能对数值生效。如果单元格左上角有绿色小三角,或者数字靠左对齐,它很可能是文本型数字,需要先转换成数值,否则格式代码不会按预期工作。
- 确认你要的是“展示”还是“拼接”。只为显示而设置格式,用单元格格式更稳妥;要把结果放进一句话或一个编号里,才需要 TEXT。
- 了解格式代码的含义。0 表示必须显示的数位,# 表示有值才显示,问号表示用空格占位。日期里 m 既可能是月也可能是分钟,它在 h 或 ss 后面时表示分钟。
- 注意你的 Excel 语言环境。日期和星期的显示方式会随系统语言和 Excel 版本变化,同一个格式代码在不同电脑上可能显示不同的文字,共享文件前建议在对方的电脑上试一次。
- 保留原始数据列。TEXT 的结果是文本,建议把原数值保留在一列,格式化结果放在旁边一列,这样需要重新计算时不必从文本里反推数字。
在 Excel 中用 TEXT 函数格式化数字的步骤
下面以“把 B 列的金额转换成带千分位和两位小数的文字,并拼上‘元’”为例,演示完整操作。
- 在一个空白单元格(例如 C2)中输入等号和函数名,写成 =TEXT(B2,"#,##0.00"),这表示把 B2 的数值按千分位和两位小数的格式转换为文本。
- 按 Enter 键确认,检查 C2 是否显示为带千分位和两位小数的样子。如果显示的是错误值,先回到第 1 步检查格式代码是否写在英文双引号里。
- 如果需要拼接文字,在公式中用 & 符号连接,例如 ="总额:"&TEXT(B2,"#,##0.00")&"元",结果会是“总额:”后面接上格式化后的金额,再加上“元”字。
- 日期要格式化时,换成日期代码,例如 =TEXT(A2,"yyyy 年 mm 月 dd 日"),A2 必须是真正的日期值,而不是看起来像日期的文字。
- 需要补零编号时,用 =TEXT(7,"000"),结果为“007”,适合生成订单号或序号前缀。
- 百分比格式代码末尾带百分号,Excel 会先把数值乘以 100 再显示,所以源数据应当是小数,而不是已经乘过 100 的整数。写公式前先确认源数据的小数位置,避免结果比预期大一百倍。
- 确认公式无误后,用填充柄向下拖动,把同样的公式应用到整列。
- 回头检查 C 列的结果,与 B 列原数值逐行对照,确认格式、小数位和日期顺序都正确。
做完后逐项核对
公式填充完成后,不要急着复制结果,先按下面的清单检查一遍。
| 检查项 | 怎么看 | 有问题怎么办 |
|---|---|---|
| 结果是否显示为文本 | 选中结果单元格,看编辑栏是否带有格式化后的样子,且左对齐 | 如果结果被当成数字参与计算,说明拼接或转换有误,回到公式检查 & 与引号 |
| 小数位是否正确 | 对照原数值,看 0.00 类代码是否保留了两位 | 若位数不对,修改格式代码中小数点后的 0 或 # 数量 |
| 日期顺序和文字 | 看 yyyy、mm、dd 是否按你的要求排列,中文字符是否夹在正确位置 | 检查 m 是否被误当成分钟,必要时改用 mm 或加上前后文字 |
| 错误值 | 看单元格是否出现 #VALUE! 之类的提示 | 通常是源数据为文本或格式代码写错,先把源数据转为数值再重写 |
| 与原数据是否一致 | 抽取几行与原数值手动核对 | 发现不一致时,检查引用的单元格是否正确,避免整列引用错位 |
完成核对后,如果结果将被其他人使用,建议复制为值保存一份,避免后续改动原数据时公式结果随之变化。
📊 核心对比
把数字变成“好看的样子”,常见的办法有两种:设置单元格格式,和使用 TEXT 函数。二者差别如下。
| 对比项 | 设置单元格格式 | TEXT 函数 |
|---|---|---|
| 结果的类型 | 仍然是数值 | 返回文本 |
| 能否继续计算 | 可以直接求和、排序 | 不能直接参与数值计算 |
| 能否与文字拼接 | 不能直接拼接 | 可以用 & 与文字组合 |
| 适用场景 | 表格展示、报表美化 | 生成句子、编号、标题 |
| 原数值是否改变 | 不改变 | 不改变,但会生成新的文本结果 |
一般来说,表格中的数字优先用单元格格式处理;只有在需要把数字放进文字里时,再用 TEXT。
❓ 常见问题(FAQ)
1. TEXT 函数的结果为什么不能求和?
TEXT 返回的是文本,即使它看起来是数字,Excel 也不会把它当作数值累加。需要求和时,应对原数值列求和,TEXT 列只用于展示。
2. 为什么日期用 TEXT 之后显示成了数字?
通常是因为源单元格本身不是日期值,而是一个数字或文字。先确认源数据是真正的日期,再使用 yyyy、mm、dd 等代码。
3. mm 和 m 有什么区别?
在日期格式中,m 和 mm 都表示月份,mm 会补齐成两位数,例如 03。但如果它紧跟在 h 或 ss 后面,就表示分钟。写时间格式时要注意这一点。
4. 星期几显示成了英文或其他文字,怎么办?
星期的显示与 Excel 的语言设置有关,同一个格式代码在不同语言环境中可能输出不同文字。如果需要固定为中文,可以在公式中直接用中文字符加上 IF 或 CHOOSE 进行判断,或者在目标电脑上确认语言设置后再使用。
5. 用 TEXT 处理的结果需要核对吗?
需要。TEXT 本身的结果是确定的,但如果格式代码或源数据写错,结果会偏离预期。把关键数据抽样与原值比对,是确保报表准确的常用做法。
📝 总结
TEXT 函数的核心是用格式代码把数字或日期变成指定样式的文本,适合拼接句子、生成编号和整理标题。写公式前先确认源数据是数值,再选对格式代码,结果出来后逐项核对即可。


