自定义格式:把数字变成话
0、#,##0.00、0.00% 这些格式代码,本质是 Excel 描述"数字怎么显示"的语言。学会自定义格式,能让表里的数字自己带单位、自己变色、自己判正负。
一、四段式结构
自定义格式最多分四段,用分号隔开:
正数格式;负数格式;零值格式;文本格式
例如:
0.00;[红色]-0.00;0;"—"
含义:正数保留两位小数;负数显示为红色带负号;零显示 0;文本显示"—"。
只写一段时,四段都用它(除文本)。写两段时,第一段管正数和零,第二段管负数。
二、占位符
| 代码 | 含义 | 例子(值 1234.5) |
|---|---|---|
0 | 数字占位,不足补 0 | 00000 → 01234 |
# | 数字占位,不足不补 | #### → 1234 |
? | 占位但保留对齐空格 | 对齐小数点用 |
. | 小数点 | 0.00 → 1234.50 |
, | 千分位分隔符 | #,##0 → 1,234 |
% | 乘以 100 并加百分号 | 0% → 123450% |
逗号放在末尾有特殊含义:一个逗号表示除以 1000。
#,##0,
值 1234500 显示为 1,235(千元单位)。
#,##0,,
除以 100 万,显示为 1(百万元单位)。
三、带单位的显示
0.00"元"
0.0"kg"
#,##0"件"
单位要用英文双引号包起来,否则 Excel 会当成格式代码解析,可能报错或显示成别的东西。
想显示"元/件"这种复合单位:
0.00"元/件"
四、正负零分开显示
#,##0.00;[红色]-#,##0.00;[蓝色]0.00
颜色名可用:[红色]、[蓝色]、[绿色]、[黄色]、[黑色]、[白色]、[青色]、[洋红]。英文版是 [Red]、[Blue] 等,中文环境下写英文也认。
也可以用颜色序号:[颜色1] 到 [颜色56],但可读性差,不推荐。
注意:颜色是显示属性,导出到 CSV 或复制为值时颜色信息丢失。
五、隐藏内容
;;;
三段分号全空 = 什么都不显示。适合在图表里隐藏某些数据,或做占位格。
只隐藏零值:
0.00;-0.00;
第三段留空,零值不显示。
隐藏负数的负号(显示为正数外观):
0.00;0.00
这只是视觉隐藏,值仍然是负数。用这个格式做报表要非常谨慎——别人可能误读。
六、条件格式代码
自定义格式支持简单条件:
[>=1000]#,##0,,"万";#,##0
一个格式里只能用两个条件([条件1]格式1;[条件2]格式2;其余)。
超过两档的需求,就别硬写格式了,用条件格式或 IF 函数。
七、日期与时间格式
| 代码 | 结果 |
|---|---|
yyyy-mm-dd | 2026-10-20 |
yyyy"年"m"月"d"日" | 2026年10月20日 |
aaaa | 星期五(中文星期) |
aaa | 五 |
m/d | 10/20 |
hh:mm:ss | 14:30:00 |
[h]:mm | 累计小时(超 24 小时) |
mm:ss.0 | 秒带一位小数 |
关键区分:m 是月还是分,取决于位置。紧跟 h 或 s 的是分,其他是月。写 hh:mm 表示"时:分",mm:ss 表示"分:秒"。
想明确显示月份,放在 y 后面或用 mmm。
八、文本和邮编这类"数字"
邮编、工号、身份证号:
000000
510183 保持 6 位,不足补 0。但格式改不了底层类型——它仍是数值。真正需要文本的地方(如导入数据库),还是要设成文本格式后重新录入。
手机号分段:
000-0000-0000
重要提醒:自定义格式只改显示,不改值。复制到别处按"值"粘贴会丢格式,按"全部"粘贴会带上格式。给外部系统导数据时,格式一律不带,所以要提前用 TEXT 函数转成文本。
九、常见坑
| 现象 | 原因 | 处理 |
|---|---|---|
| 格式报错 | 单位没加引号 | 0.00"元" |
显示成 ##### | 列宽不够 | 拉宽列或缩小字号 |
| 改了格式但求和变了 | 应该不会,检查是不是转了文本 | 格式不改值,核实数据源 |
类似 #,##0 但显示不对 | 系统千分位设置为空 | 检查区域设置 |
| 负数显示成正数 | 用了 0.00;0.00 | 确认是否故意 |
| 日期显示成序列值 | 格式被改回常规 | 重新套日期格式 |
十、速查
| 需求 | 格式代码 |
|---|---|
| 两位小数 | 0.00 |
| 千分位 | #,##0 |
| 带单位 | 0.00"元" |
| 负数红色 | 0.00;[红色]-0.00 |
| 零显示为横线 | 0.00;-0.00;"—" |
| 转万元 | 0!.0,,"万" |
| 邮编 6 位 | 000000 |
| 累计小时 | [h]:mm |
| 中文星期 | aaaa |
自定义格式是"只改脸不改心"的工具。用它做展示,别指望它改数据——这条界线一清楚,格式就随便玩了。