办公软件

Excel/WPS 身份证号变科学计数法?文本化、批量重导与复核

约 6 分钟读完
Excel/WPS 身份证号变科学计数法?文本化、批量重导与复核

摘要

身份证号在 Excel/WPS 中显示为科学计数法、前导 0 消失,往往是导入时被当成数值。教程给出桌面版 Excel/WPS 的文本化设置、CSV 批量导入、原始数据恢复及长度与校验位复核方法,并说明已丢失位数无法靠改格式还原。

本文目录

身份证号通常有 18 位,最后一位还可能是 X。Excel/WPS 一旦把整串内容按“数值”识别,就可能显示为 1.23457E+17;前导 0 会消失,18 位数超出 15 位有效数字时,末位还可能被舍入。先说结论:改列格式只能保护之后录入或重新导入的数据,已经丢失的字符不能靠“改显示”凭空恢复。可靠流程是“先设为文本,再从原始来源批量导入,最后做长度与校验位复核”。

适用设备与系统版本

本教程以 Windows 10/11 上的 Microsoft Excel 2016/2019/2021、Microsoft 365 和 WPS Office 桌面版为主,macOS 的操作基本相同。手机端 WPS 可用于查看和简单编辑;iPhone(iOS)及华为 HarmonyOS 鸿蒙、小米/Redmi HyperOS 澎湃 OS、OPPO/一加 ColorOS、vivo/iQOO OriginOS、荣耀 MagicOS 上的 WPS 版本菜单不同,且未必支持设置导入列类型,批量处理建议在电脑完成。

第一步:先判断是显示问题还是数据已损坏

  1. 先复制工作表并保存备份,不要直接修改唯一原件。身份证表含敏感个人信息,改动前应保留一份副本。
  2. 查看目标列是否右对齐、是否出现 E+、末尾数字是否异常。右对齐和科学计数法通常说明它已被当作数值,但这只能作为辅助判断。
  3. 与权威原始数据比较。如果来源是系统导出的 CSV/TXT、原始登记记录或单位业务系统中的完整字段,可以据此重导;如果来源表本身已经出现 E+ 或缺少前导 0,它已不是可靠原件,应继续向上游查找。

第二步:把身份证号目标列预先设为“文本”

  1. 选定身份证号列。Excel 可在“开始 > 数字”组的下拉菜单中选择“文本”;WPS 桌面版通常在“开始 > 数字”下拉菜单选择“文本/文字”。Windows 下两者都可按 Ctrl+1,在“数字”或“格式”页中选择“文本”。
  2. 必须先设格式,再粘贴或导入。已有数值不会因为改成文本而自动还原,应清空原数值后,从可信原始数据重新粘贴。
  3. 建议先新建一列作为修复结果,再与原列核对。粘贴后可用左对齐作辅助确认,但不要仅靠对齐判断,因为对齐方式可以手动修改。

第三步:批量恢复正确的身份证号

  1. 优先取得原始文本,例如从单位业务系统重新导出 CSV/TXT,或从能显示完整字符的原始记录复制。不要把已经出现科学计数法、已缺前导 0 的工作表当作“原件”。
  2. Excel 导入 CSV 时,依次点击“数据 > 从文本/CSV”,在预览窗口把身份证号列的数据类型改为“文本”后再加载;旧版 Excel 可使用“数据 > 从文本”的文本导入向导。
  3. WPS 桌面版在“数据”选项卡中选择“文本导入”或“导入数据”(不同版本叫法略有差别),在向导的列数据格式步骤将身份证号列设为“文本”。不要直接双击 CSV,让表格自动判断类型。
  4. 把导入后的整列复制到已设为文本的目标列。若原始数据已在 Excel/WPS 中以完整文本显示,也可直接复制整列粘贴;完成后核对总行数、空行、开头 0 和末尾 X。
  5. 只有原始资料明确指出缺失的是哪个前缀时,才可在文本列补回。不要根据长度猜测缺了什么,也不要用自定义数字格式强行补零。

第四步:用公式批量复核

在空白辅助列输入公式并向下填充,以下假设身份证号位于 A2:

  1. 检查长度,在 B2 输入:

    =IF(A2="","空值",IF(LEN(A2)=18,"18位","长度异常"))

  2. 检查长度、前 6 位数字和末位类型,在 C2 输入:

    =IF(A2="","空值",IF(AND(LEN(A2)=18,ISNUMBER(--LEFT(A2,6)),OR(RIGHT(UPPER(A2),1)="X",ISNUMBER(--RIGHT(A2,1)))),"基础格式正常","需复核"))

  3. 检查身份证号校验位,可把下面公式放入 D2:

    =IF(A2="","",IFERROR(IF(LEN(A2)=18,IF(LOOKUP(MOD(SUMPRODUCT(MID(A2,ROW($1:$17),1)*{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}),11)+1,{1,2,3,4,5,6,7,8,9,10,11},{"1","0","X","9","8","7","6","5","4","3","2"})=UPPER(RIGHT(A2,1)),"校验通过","校验失败"),"长度异常"),"需复核"))
    
  4. 用“数据 > 筛选”挑出空值、长度异常和校验失败的行;复制一份数据后再用“删除重复项”检查重复,并至少抽查若干条原始记录。校验位通过只说明末位计算自洽,不代表身份信息一定真实。

注意事项

  • 不要用 =A2&""、TEXT(A2,"000000000000000000") 或“000000”自定义格式来“修复”。这些方法只会给已经舍入的数值补零,无法找回丢失的原始字符。
  • CSV 文件本身不保存列类型。导出后再次处理时,仍要通过导入向导把身份证号列指定为文本。
  • 身份证号属于敏感个人信息,不要上传到不明在线转换网站;对外分享前应脱敏,并限制文件访问范围。
  • 修复完成后再锁定目标列、设置访问权限,并保留原始文件与修复文件两份记录。

小结

处理顺序只有三步:先把目标列设为“文本”,再从权威原始数据重新导入,最后检查长度、末位、校验位和重复项。若原始来源已经丢失前导 0 或舍入末位,格式转换无法可靠还原,必须重新取得原始数据。

常见问题

身份证号已经显示成科学计数法,改成文本后能恢复吗?

不能保证。改变显示格式不会还原已经存储的数值,18 位号码被按数值解析后,末尾可能已被舍入。正确做法是从原始 CSV 或业务系统重新以文本方式导入。

丢失的前导 0 可以用公式补回来吗?

只有权威原始资料明确给出前缀、其余字符也完整时,才可以手动补 0。对已被舍入的数值使用补零公式,只会制造一个看似完整但不可靠的号码。

CSV 双击打开后为什么还是科学计数法?

因为双击会触发表格自动解析。不要双击文件,应在 Excel 选择“数据 > 从文本/CSV”,或在 WPS 选择“数据 > 文本导入”,在加载前把身份证号列设为“文本”。

参考来源