Menu

Excel 前导零:怎样保留和补齐数字前面的 0

Excel 会去掉前导零,因为 00742 就是数字 742。用 00000 这样的自定义数字格式、撇号('00742)或文本格式保留它们,或者用 =TEXT(A2,"00000") 补上。

本页的每张表格都是实时的:修改数字或公式,就会重新计算。

Excel 会去掉前导零,因为它把 00742 读成数字 742。要显示这些零,给单元格设置自定义数字格式 00000;要把数字变成带零的文本,用 =TEXT(A2,"00000")。

显示 5 位数字的两种方法
B2
ABC
1NumberTEXT(A2,"00000")Format 00000
27420074200742
3150001500015
4314153141531415
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

两列看起来一样,实际上并不相同:B 列中是文本,C 列中仍然是数字 742、15 和 31415,只是显示为五位。格式代码中的每个 0 表示一位总会显示的数字,所以 00000 的意思是“至少五位”。

输入时保留前导零

输入以零开头的编码并保留零,有三种方法:

  • 自定义格式。 选中单元格,按 Ctrl+1(Mac 上按 Cmd+1),选择“自定义”,在“类型”中输入 00000。单元格仍然是数字,所以 SUM 和排序都能正常使用。适合固定长度的数字,例如邮政编码和员工编号。
  • 撇号。 输入 '00742。撇号不会显示出来,它告诉 Excel 把这项内容存为文本。
  • 文本格式。 选中单元格,点击“开始 > 数字格式 > 文本”,然后输入。之后输入的所有内容都会按原样存为文本。
带撇号和不带撇号的输入
B2
ABC
1TypedLengthIs it text?
2007425TRUE
37423FALSE
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

A2 输入的是 '00742,保留了全部五个字符。A3 输入的是不带撇号的 00742,所以它变成了数字 742,只有 3 位。对于编码而不是数量的值,请使用文本(撇号或文本格式):电话号码、账号、零件编码,以及任何超过 15 位的内容(Excel 只保留数字的 15 位有效数字,所以作为数字输入的 16 位卡号,最后一位会变成 0)。

用公式补上前导零

TEXT 把数字补齐到固定位数。对于本身已经是文本或可能含有字母的值,在前面加上零,再用 RIGHT 保留最后几个字符:

给数字和编码补零
B2
ABC
1ValueTEXT(A2,"000000")RIGHT("000000"&A2,6)
242000042000042
31234001234001234
4A17A17000A17
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

TEXT 需要数字:B4 中的文本 A17 保持不变。RIGHT 写法对两者都有效,因为它在任何内容前面拼上六个零,再保留最后六个字符。如果值本身已经超过六个字符,RIGHT 会把它截断。=REPT("0",MAX(0,6-LEN(A2)))&A2 只补上缺少的零,较长的值会保持完整。

六位员工编号
B2
AB
1NumberEmployee ID
24217
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: 员工编号有 6 位。在 B2 中把 A2 中的数字以带前导零的文本形式返回,例如 004217。

较长编码中的零

把补齐的数字放进编码或句子中,也要用 TEXT。直接拼接数字会丢掉零,即使单元格用自定义格式显示了这些零:

生成订单编号
B2
ABC
1OrderWith TEXTWithout TEXT
20007ORD-0007ORD-7
30315ORD-0315ORD-315
点击单元格查看它的公式。修改数字或公式,表格会重新计算。
发票编号
B2
AB
1NumberInvoice
287
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: 在 B2 中生成发票编号:INV- 后面接上 A2 中补齐到 5 位的数字,例如 INV-00087。

去掉前导零,以及 CSV 的陷阱

要把带前导零的文本变回数字,用 =VALUE(A2)(详见 文本转数字)。对于用 00000 格式显示的数字,把格式改回“常规”。

丢失前导零最常见的情况是打开 CSV 文件:Excel 在打开文件时就把 00742 转换成 742,再次保存时写入的也是 742。要保留它们:

  1. 打开一个空白工作簿,使用“数据 > 从文本/CSV”,选择文件。
  2. 点击 转换数据,选中该列,把 数据类型 设为文本。
  3. 点击 关闭并上载。

在 Microsoft 365 中,“文件 > 选项 > 数据 > 自动数据转换”里有一个“删除前导零并转换为数字”的设置;取消勾选后,无论是输入还是打开 CSV 文件,Excel 都会保留零。在 Google 表格中,输入或粘贴编码之前,先把该列设为“纯文本”格式。

常见问题

Excel 为什么会去掉前导零?

Excel 把 00742 当作数字 742,而数字没有前导零。输入之前把单元格设为文本格式,或者先输入一个撇号('00742),或者保留数字并给它设置自定义格式 00000。

怎样在 Excel 中用公式补上前导零?

=TEXT(A2,"00000") 把数字补齐到 5 位,所以 742 变成 00742。如果是可能含有字母的文本,用 =RIGHT("00000"&A2,5)。

打开 CSV 文件时怎样保留前导零?

不要双击打开 CSV。使用“数据 > 从文本/CSV”,点击“转换数据”,把该列的类型设为文本,再加载。在 Microsoft 365 中,还可以在“文件 > 选项 > 数据 > 自动数据转换”中关闭“删除前导零”。

怎样在 Excel 中去掉前导零?

如果单元格中是 '00742 这样的文本,=VALUE(A2) 返回数字 742。如果它是设置了 00000 格式的数字,把格式改回“常规”即可。

Coddy 编程语言插图

和 Coddy 一起学编程

开始