夜雨聆风学习资料网

ARTICLE · 997225

EXCEL中数字变文本,日期变格式,金额变货币,TEXT 让数据穿上任意衣服

EXCEL中数字变文本,日期变格式,金额变货币,TEXT 让数据穿上任意衣服
每天一个 EXCEL 函数

TEXT 文本格式化函数 · 数字变形记

数字变文本,日期变格式,金额变货币,TEXT 让数据穿上任意衣服。

TEXT

5 分钟学会 · 数字格式化 · 日期转换 · 货币显示 · 自定义代码

Excel 全版本WPS 全版本
CONTENTS目录
  • 1 · TEXT 是什么?
  • 2 · TEXT 基础用法(数字变形)
  • 3 · 数字格式化代码大全
  • 4 · 日期时间格式化详解
  • 5 · 货币与百分比格式化
  • 6 · 条件格式化与颜色代码
  • 7 · TEXT 组合技:与其他函数搭配
  • 8 · 重要:TEXT vs 设置单元格格式的区别
  • 9 · 实战案例:报表自动生成
  • 10 · 常见错误与解决方法
  • 11 · 练习题 · 巩固提高
  • 12 · 下期预告
  • 附 · TEXT 格式代码速查卡

01

OVERVIEW

TEXT 是什么?

造型师 · 翻译机 · 万能钥匙

TEXT 是 Excel 中最强大的文本格式化函数,它能把数字、日期、时间转换成任意格式的文本。就像给数据穿上不同的衣服,让它以你想要的样子呈现!

TEXT 的本质

 TEXT 像一位造型师 

把素面朝天的数字,打扮成货币、日期、百分比等各种造型

 TEXT 像一台翻译机 

把Excel内部的数字(如45153),翻译成人类看得懂的日期(2023/8/15)

 TEXT 像一把万能钥匙 

连接文本和数字的桥梁,让拼接字符串时数字也能格式化显示

通俗理解

 TEXT(1234.5, "#") → "1235" 

四舍五入,去掉小数

 TEXT(1234.5, "$#,##0.00") → "$1,234.50" 

变成美元格式

 TEXT(0.85, "0%") → "85%" 

小数变百分比

 TEXT(45153, "yyyy-mm-dd") → "2023-08-15" 

数字变日期

注意

TEXT返回的是文本(字符串),不是数字!这意味着你不能直接对TEXT的结果做加减乘除运算。需要计算时,保留原始数字,TEXT仅用于显示!

02

BASICS

TEXT 基础用法

数字变形 · 两个参数

TEXT 只需要两个参数:要格式化的值,和格式代码。掌握格式代码,就掌握了TEXT的精髓!

语法

=TEXT(数值, "格式代码")  →   → 把数值按指定格式转换成文本

参数说明

参数
说明
示例
数值
要格式化的数字、日期或时间
1234.5、45153(日期序列号)
格式代码
用双引号包裹的格式字符串
"#,##0.00"、"yyyy-mm-dd"

实战示例:数字的各种变形

原数值
格式代码
公式
结果
说明
1234.567
0.00
=TEXT(1234.567,"0.00")
1234.57
保留2位小数
1234.567
#,##0
=TEXT(1234.567,"#,##0")
1,235
千分位+整数
1234.567
$#,##0.00
=TEXT(1234.567,"$#,##0.00")
$1,234.57
美元格式
0.85
0%
=TEXT(0.85,"0%")
85%
百分比
45153
yyyy-mm-dd
=TEXT(45153,"yyyy-mm-dd")
2023-08-15
日期格式

核心规律

  • 0 → 数字占位符,不足补0
  • # → 数字占位符,不足不补
  • , → 千分位分隔符
  • . → 小数点
  • % → 百分比(自动×100)
  • $, ¥ → 货币符号

技巧

格式代码中的符号必须用双引号包裹!=TEXT(A1,"#,##0") 正确,=TEXT(A1,#,##0) 错误!

03

NUMBER CODES

数字格式化代码大全

0 与 # 的区别 · 千分位

数字格式代码是TEXT函数的灵魂,记住这些代码,数字想怎么变就怎么变!

基础数字格式

格式代码
原数值
结果
说明
0
1234.5
1235
四舍五入到整数
0.0
1234.56
1234.6
保留1位小数
0.00
1234.567
1234.57
保留2位小数
#,##0
1234567
1,234,567
千分位整数
#,##0.00
1234567.89
1,234,567.89
千分位+2位小数
00000
123
00123
不足5位前面补0

0 与 # 的区别(核心中的核心)

格式代码
数值123.4
数值0.4
说明
0.00
123.40
0.40
0强制显示,不足补0
#.##
123.4
.4
#不强制显示,不足留白
0.##
123.4
0.4
整数位用0,小数位用#

记忆口诀

  • 0 是‘强迫症’——必须有数字,没有就补0
  • # 是‘佛系’——有就显示,没有就算了

科学计数法与大数字

格式代码
原数值
结果
说明
0.00E+00
1234567
1.23E+06
科学计数法
0.0,"千"
12345678
12345.7千
除以1000(一个逗号)
0.0,,"百万"
1234567890
1234.6百万
除以1000000(两个逗号)

技巧

尾随逗号是「缩放符」——一个逗号÷1000,两个逗号÷1000000,三个逗号÷1000000000!注意:「万」(÷10000)、「亿」(÷100000000)不是1000的整数次幂,逗号无法直接实现,需改用公式,如 =TEXT(A1/10000,"0.0")&"万"。

04

DATE & TIME

日期时间格式化详解

日期代码 · 时间代码

TEXT最强大的功能之一就是日期格式化。Excel内部把日期存储为数字(如45153代表2023年8月15日),TEXT能把这些数字变成人类看得懂的各种日期格式!

日期格式代码

代码
含义
示例值
结果
yyyy
4位年份
2024
2024
yy
2位年份
2024
24
m
月份(1-12)
3
3
mm
月份(01-12)
3
03
mmm
月份缩写
3
Mar
mmmm
月份全称
3
March
d
日期(1-31)
8
8
dd
日期(01-31)
8
08
ddd
星期缩写(英文)
周五
Fri
dddd
星期全称(英文)
周五
Friday
aaa
星期缩写(中文)
周五
周五
aaaa
星期全称(中文)
周五
星期五

时间格式代码

代码
含义
示例值
结果
h
小时(0-23)
9
9
hh
小时(00-23)
9
09
m
分钟(0-59)
5
5
mm
分钟(00-59)
5
05
s
秒(0-59)
30
30
ss
秒(00-59)
30
30
AM/PM
上午/下午
14:30
2:30 PM

注意

注意:m在日期格式中表示月份,在时间格式中表示分钟!区分方法:看旁边有没有h(小时)或s(秒)。有h/s就是分钟,没有就是月份!

日期格式化实战示例

假设A1单元格 = 2024年3月8日(Excel内部值=45359)

格式代码
公式
结果
适用场景
yyyy-mm-dd
=TEXT(A1,"yyyy-mm-dd")
2024-03-08
标准日期
yyyy/mm/dd
=TEXT(A1,"yyyy/mm/dd")
2024/03/08
斜杠分隔
dd/mm/yyyy
=TEXT(A1,"dd/mm/yyyy")
08/03/2024
欧洲格式
mm-dd-yyyy
=TEXT(A1,"mm-dd-yyyy")
03-08-2024
美国格式
yyyy年m月d日
=TEXT(A1,"yyyy年m月d日")
2024年3月8日
中文日期
dddd, mmmm d, yyyy
=TEXT(A1,"dddd, mmmm d, yyyy")
Friday, March 8, 2024
英文完整
yyyymmdd
=TEXT(A1,"yyyymmdd")
20240308
无分隔符(编号)

时间格式化实战示例

假设B1单元格 = 14:30:25(下午2点半25秒)

格式代码
公式
结果
hh:mm:ss
=TEXT(B1,"hh:mm:ss")
14:30:25
h:mm AM/PM
=TEXT(B1,"h:mm AM/PM")
2:30 PM
hh:mm
=TEXT(B1,"hh:mm")
14:30
h"时"mm"分"
=TEXT(B1,"h""时""mm""分")
14时30分

技巧

日期+时间组合格式 =TEXT(A1,"yyyy-mm-dd hh:mm:ss") → 2024-03-08 14:30:25。注意日期和时间之间要加空格!

05

CURRENCY

货币与百分比格式化

会计格式 · 百分比

TEXT在财务场景中必不可少,金额、百分比、会计格式,一键搞定!

货币格式

格式代码
原数值
结果
说明
$#,##0.00
1234.5
$1,234.50
美元格式
¥#,##0.00
1234.5
¥1,234.50
人民币格式
€#,##0.00
1234.5
€1,234.50
欧元格式
$#,##0.00_);($#,##0.00)
-1234.5
($1,234.50)
会计格式(负数括号)
"USD "#,##0.00
1234.5
USD 1,234.50
文字+货币

百分比格式

格式代码
原数值
结果
说明
0%
0.85
85%
整数百分比
0.0%
0.8567
85.7%
1位小数百分比
0.00%
0.8567
85.67%
2位小数百分比
0%" ↑"
0.85
85% ↑
百分比+箭头

核心规律

  • % 会自动将数值×100,所以0.85 → 85%
  • 货币符号直接写在格式代码中,如$、¥、€
  • 会计格式用_);( 实现负数括号显示

技巧

财务报告中最常用 =TEXT(金额,"¥#,##0.00") 和 =TEXT(增长率,"0.00%"),清晰专业!

06

CONDITION

条件格式化与颜色代码

四段式 · 颜色代码

TEXT函数支持条件判断和颜色设置,让数据显示更加智能和醒目!

条件格式代码

TEXT支持最多4个条件段,用分号分隔:[正数格式];[负数格式];[零格式];[文本格式]

=TEXT(数值, "正数格式;负数格式;零格式;文本格式")  →   → 四段式条件格式

格式代码
正数
负数
零
文本
0.0;-0.0;"零";"文本:" @
1.5 → 1.5
-1.5 → -1.5
0 → 零
abc → 文本: abc
#,##0;(#,##0);"-"
1000 → 1,000
-1000 → (1,000)
0 → -
—
↑0.0%;↓0.0%;→0%
0.05 → ↑5.0%
-0.05 → ↓5.0%
0 → →0%
—

颜色代码

在格式代码中用[颜色名]指定显示颜色(仅部分颜色支持)。

颜色代码
格式示例
效果
[红色]
[红色]#,##0;[绿色]-#,##0
正数红色,负数绿色
[蓝色]
[蓝色]0.00
蓝色显示
[绿色]
[绿色]0%
绿色百分比
[黄色]
[黄色]"警告: "0
黄色警告前缀

注意

注意:颜色代码在Excel单元格中不会生效(TEXT返回纯文本,不带颜色)。颜色代码只在‘设置单元格格式’的自定义格式中有效!TEXT函数不支持颜色输出!

TEXT中的条件判断替代方案

虽然TEXT本身不支持颜色,但可以结合IF函数实现带文字标记的智能显示:

=IF(A1>0,"↑"&TEXT(A1,"0.0%"),IF(A1<0,"↓"&TEXT(ABS(A1),"0.0%"),"  →  0%"))

原数值
公式结果
说明
0.05
↑5.0%
正数,显示上升箭头
-0.03
↓3.0%
负数,显示下降箭头
0
→0%
零,显示持平箭头

技巧

TEXT+IF组合可以实现‘伪条件格式’!虽然不能改变颜色,但可以用箭头、文字等标记让数据状态一目了然!

07

COMBOS

TEXT 组合技

与其他函数搭配

TEXT的真正威力在于与其他函数组合,实现各种自动化报表和智能显示!

组合技1:TEXT + &(文本拼接)

场景:生成带格式的报告文本。

="本月销售额:"&TEXT(B2,"¥#,##0.00")&",同比增长"&TEXT(C2,"0.0%")  →   → 拼接成完整句子

结果:本月销售额:¥125,000.00,同比增长15.3%

组合技2:TEXT + TODAY/NOW(动态日期)

场景:自动生成带日期的报表标题。

="报表日期:"&TEXT(TODAY(),"yyyy年m月d日")  →   → 自动生成今天的日期

="生成时间:"&TEXT(NOW(),"yyyy-mm-dd hh:mm:ss")  →   → 自动生成当前时间

组合技3:TEXT + IF(条件显示)

场景:根据数值大小显示不同的格式。

=IF(A1>=10000,"高"&TEXT(A1,"#,##0"),TEXT(A1,"#,##0"))  →   → 大于1万加‘高’前缀

组合技4:TEXT + VLOOKUP(格式化查找结果)

场景:查找数据后自动格式化显示。

=TEXT(VLOOKUP(A1,数据表,2,FALSE),"yyyy-mm-dd")  →   → 查找日期并格式化

组合技5:TEXT + CONCATENATE/TEXTJOIN(批量拼接)

场景:批量生成格式化列表。

=TEXTJOIN(", ",TRUE,TEXT(A1:A10,"¥#,##0"))  →   → Excel 2019+:批量格式化并拼接

心法

TEXT是‘美容师’,负责把数字打扮漂亮;其他函数是‘搬运工’,负责把数据搬来搬去。两者配合,报表自动生成!

08

TEXT vs FORMAT

TEXT vs 设置单元格格式

本质区别 · 双列策略

这是使用TEXT最容易混淆的地方!TEXT和‘设置单元格格式’看起来很相似,但本质完全不同!

核心区别

对比项
TEXT函数
设置单元格格式
本质
返回文本字符串
仅改变显示方式
原始值
改变(变成文本)
不变(仍是数字)
能否计算
不能直接计算
可以继续计算
公式中使用
可以嵌入公式
不能嵌入公式
复制粘贴
粘贴的是文本
粘贴的是格式
适用场景
拼接文本、生成报告
单纯改变显示外观

对比实验

操作
单元格显示
实际值
能否求和
原始数字
1234.5
1234.5
✓ 能
TEXT格式化
¥1,234.50
文本‘¥1,234.50’
✗ 不能
设置单元格格式
¥1,234.50
1234.5
✓ 能

关键结论

  • 如果只是想让数字‘看起来’好看 → 用‘设置单元格格式’
  • 如果需要把格式化后的结果用于拼接、报告 → 用TEXT函数
  • 如果需要格式化后还能计算 → 用‘设置单元格格式’,或保留原始值另起一列用TEXT

注意

特别注意:=TEXT(A1,"#,##0")+100 会报错!因为TEXT返回的是文本,不能和数字相加。需要计算时保留原始数字列,TEXT仅用于显示列!

最佳实践:双列策略

当既需要计算又需要格式化显示时,用两列解决:

列
内容
公式
用途
A列
原始金额
1234.5
保留数字,用于计算
B列
显示格式
=TEXT(A1,"¥#,##0.00")
格式化文本,用于显示/拼接

09

CASE STUDY

实战案例

报表自动生成

场景:根据销售数据,自动生成带格式的日报/月报文本。

项目
数值
说明
销售额
125000.50
本月销售额
目标
100000
本月目标
完成率
1.25
125%
日期
45359
2024年3月8日

问题1:生成销售日报标题

="【销售日报】"&TEXT(日期,"yyyy年m月d日")  →   → 结果:【销售日报】2024年3月8日

问题2:格式化销售额显示

=TEXT(销售额,"¥#,##0.00")  →   → 结果:¥125,000.50

问题3:生成完成率状态文本

="完成率:"&TEXT(完成率,"0%")&IF(完成率>=1," ✓ 达标"," ✗ 未达标")  →   → 结果:完成率:125% ✓ 达标

问题4:生成完整报告摘要

="截至"&TEXT(日期,"m月d日")&",销售额"&TEXT(销售额,"¥#,##0")&",完成率"&TEXT(完成率,"0%")&"。"  →   → 结果:截至3月8日,销售额¥125,000,完成率125%。

问题5:生成邮件正文

="尊敬的领导:"&CHAR(10)&"本月销售额"&TEXT(销售额,"¥#,##0.00")&",超额完成目标"&TEXT((销售额-目标)/目标,"0%")&"。"&CHAR(10)&"请查收。"  →   → CHAR(10)换行,生成多行邮件

技巧

用TEXT+&拼接可以生成任意格式的报告文本!配合CONCATENATE、TEXTJOIN(Excel 2019+)可以实现更复杂的批量报表生成!

10

TROUBLESHOOT

常见错误与解决方法

错误排查 · 建议公式

使用TEXT函数时,这些坑你踩过吗?提前了解,少走弯路!

错误
原因
解决方法
#NAME?
格式代码没用双引号
格式代码必须加双引号,如"#,##0"
#VALUE!
第一个参数不是数字
确保是数字、日期或时间
格式不生效
格式代码写错
检查大小写,如yyyy不是YYYY
m显示月份还是分钟
上下文判断错误
有h/s就是分钟,没有就是月份
TEXT结果不能计算
TEXT返回文本
需要计算时保留原始数字列
中文显示乱码
格式代码中文字符问题
中文用"年""月""日"包裹
颜色代码无效
TEXT不支持颜色输出
颜色只在单元格格式中有效
负数显示异常
缺少负数格式段
用四段式:正;负;零;文本

建议公式

  • =TEXT(A1,"#,##0.00") → 标准数字格式
  • =TEXT(A1,"yyyy-mm-dd") → 标准日期格式
  • =TEXT(A1,"¥#,##0.00") → 人民币格式
  • =TEXT(A1,"0%") → 百分比格式
  • ="前缀"&TEXT(A1,"#,##0")&"后缀" → 拼接用法
  • =IFERROR(TEXT(A1,"#,##0"),"数据异常") → 防错处理

11

EXERCISES

练习题 · 巩固提高

基础 → 挑战 · 动手练习

动手练习是掌握 TEXT 的最佳方式!打开 Excel,跟着题目练一练吧!

基础题(★☆☆)

题目1:将数字1234.567用TEXT格式化为保留2位小数、千分位的货币格式。

=TEXT(1234.567,"¥#,##0.00")  →  ¥1,234.57

进阶题(★★☆)

题目2:将日期2024年3月8日(Excel值45359)格式化为‘2024年03月08日 星期五’。

=TEXT(45359,"yyyy年mm月dd日 aaaa")  →  2024年03月08日 星期五

挑战题(★★★)

题目3:拼接生成一句话:‘本月销售额¥125,000,完成率125%,状态:达标’。

="本月销售额"&TEXT(125000,"¥#,##0")&",完成率"&TEXT(1.25,"0%")&",状态:"&IF(1.25>=1,"达标","未达标")

思考题(★★★★)

题目4:如何用TEXT实现‘正数显示红色↑,负数显示绿色↓’的效果?(提示:TEXT本身不支持颜色,但可以用符号+IF)

=IF(A1>0,"↑"&TEXT(A1,"0.0%"),IF(A1<0,"↓"&TEXT(ABS(A1),"0.0%"),"  →  0%"))

技巧

TEXT的格式代码和‘设置单元格格式’的自定义格式代码完全通用!在单元格上右键→设置单元格格式→自定义,看到的代码就是TEXT能用的代码!

∞

APPENDIX

附录:TEXT 格式代码速查卡

一张表记住所有常用代码

一张表记住所有常用格式代码,收藏备用!

数字格式

格式代码
示例
结果
说明
0
1234.5
1235
四舍五入整数
0.0
1234.56
1234.6
1位小数
0.00
1234.567
1234.57
2位小数
#,##0
1234567
1,234,567
千分位
#,##0.00
1234567.89
1,234,567.89
千分位+2位小数
00000
123
00123
前补0
0.0E+0
1234567
1.2E+6
科学计数法

日期格式

格式代码
结果
说明
yyyy-mm-dd
2024-03-08
标准日期
yyyy/mm/dd
2024/03/08
斜杠日期
dd/mm/yyyy
08/03/2024
欧洲格式
yyyy年m月d日
2024年3月8日
中文日期
mmm dd, yyyy
Mar 08, 2024
英文缩写
dddd, mmmm d, yyyy
Friday, March 8, 2024
英文完整
yyyymmdd
20240308
无分隔符

时间格式

格式代码
结果
说明
hh:mm:ss
14:30:25
完整时间
h:mm AM/PM
2:30 PM
12小时制
hh:mm
14:30
小时分钟
h"时"mm"分"
14时30分
中文时间

货币与百分比

格式代码
示例
结果
说明
$#,##0.00
1234.5
$1,234.50
美元
¥#,##0.00
1234.5
¥1,234.50
人民币
€#,##0.00
1234.5
€1,234.50
欧元
0%
0.85
85%
整数百分比
0.00%
0.8567
85.67%
2位小数百分比

条件格式(四段式)

格式代码
说明
正数格式;负数格式;零格式;文本格式
四段用分号分隔
#,##0;(#,##0);"-"
正数正常,负数括号,零显示-
↑0%;↓0%;→0%
正数↑,负数↓,零→

如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。

赞
在看
收藏

THANKS FOR READING

相关学习资料