Excel 技巧

Excel 为什么删除编号前面的 0?把字段按文本导入

邮编、工号、电话和长账号不是用来计算的数值;在 Excel 导入前把相应列设为文本,避免前导零消失。

3 分钟阅读 1173 字

Excel 删除编号前面的 0,通常不是文件坏了,而是它把这一列当成了可计算的数字。邮编、电话、员工编号和账号应当保留原始字符顺序时,最稳妥的做法是在导入前把该列指定为文本。

先判断:这列是数值还是标识符

能相加、相减、求平均的数量,例如销售额或库存,通常适合数值格式;用来识别对象的字符串,例如 001582、手机号或会员号,则不应因计算便利而变形。前导零一旦在导入时被移除,后续很难仅凭结果判断原来应该有几个零。

Microsoft 的说明适用于 Excel for Microsoft 365、Excel 2024、2021、2019 和 2016。它说明 Excel 会把带前导零的数字文本转成数字;对于 16 位或更长的数字型标识符,Excel 只有 15 位有效精度,因此更应在录入或导入前使用文本格式。不要把信用卡号或其他敏感账号上传到不必要的服务中;本文只讨论格式处理,不建议把敏感数据当测试样本。

用 Data > From Text/CSV 先把列设为 Text

不要双击 CSV 后直接继续。直接打开 CSV 时,Excel 会按当前默认数据格式解释每一列;这正是前导零容易消失的地方。对于桌面版 Excel,可按下面的流程处理:

  • 先复制原始 CSV,保留一份没有被 Excel 打开过的备份。
  • 在 Excel 选择 Data > From Text/CSV,选取文件并进入预览。
  • 选择 Edit,进入 Power Query Editor;点选编号列后,选择 Home > Transform > Data Type > Text,并在提示时选择 Replace Current。
  • 选择 Close & Load,回到工作表后抽查 001582 这类已知记录,再保存工作簿。

Microsoft 365 与 Excel 2024 还提供 Automatic Data Conversions 设置;该项功能的适用版本限于 Microsoft 365 和 Excel 2024(包括微软列出的 Mac 版本)。如果你的界面没有该项设置,不要把它当成故障:改用上面的导入流程,或在输入前将目标列设为 Text。不同更新通道和 Mac、网页版本的菜单可能不同,因此以 Data 导入预览和列类型为准。

已经丢了 0,先回原始文件核对

给单元格套上 00000 这类自定义格式,只会影响之后显示或输入的数值,不能可靠恢复导入前已经被改写的原始字符串。若你知道固定长度,显示格式可用于工作簿中的阅读;若编号长度不固定或超过 15 位,应回到原始导出文件重新按文本导入,而不是猜测补多少个零。

导入前后,可以把不含敏感信息的样本放进 CSV / Excel 在线预览 对照列数、表头和几条编号。该工具在浏览器中预览加载的 CSV、TSV 或 XLSX,并可导出当前工作表为 CSV;它不是 Excel 编辑器,不会替你改回原始 XLSX,也无法修复已经被 Excel 转换的值。若需要检查分隔符或 JSON 导出的字段结构,可使用 CSV ⇄ JSON 互转,但也应只处理确认可分享的数据。

完成后,用原始 CSV 的一条已知编号、Excel 导入结果和后续导出结果做三方核对。确认前导零、长度和列顺序一致,才把数据交给匹配、合并或上传流程。

常见问题

为什么把单元格改成文本后,之前的 0 还是没有回来?

格式通常只影响之后输入或显示的内容,不能得知 Excel 先前删除了多少个零。请从原始文件重新导入,并在导入过程中把该列设为 Text。

直接打开 CSV 和 Data > From Text/CSV 有什么差别?

直接打开会使用 Excel 当前默认格式解释列;Data > From Text/CSV 让你先查看预览,并可在 Power Query 中指定列的数据类型。

所有长数字都应该设为文本吗?

若它是账号、编号或其他不参加运算的标识符,应设为文本。需要实际计算的数值则应按业务规则处理;特别是 16 位及以上的数字型标识符,不能依赖 Excel 数值精度保存原串。

ToolboxHub 可以编辑 XLSX 并把前导零补回来吗?

不可以。CSV / Excel 在线预览只在浏览器中预览加载的表格和导出当前工作表 CSV;它不会编辑、保存或修复 XLSX 文件。