在 excel 表格中数字变成 E+,本质是 excel 自动启用科学计数法,当单元格里面输入很长的数字,比如身份证号银行卡号订单编号这类超过 11 位的长数字,单元格宽度有限,excel 就会自动把长数字转换成类似 1.23E+11 这种科学计数显示,这里要重点区分两种情况,第一种只是显示成 E+,底层数字还完整,第二种是已经发生精度丢失,长数字后面几位直接变成 0,这种情况就算修改格式也无法恢复原始数字,所以遇到这个问题优先判断是否已经丢位,后续录入长编号的时候,必须提前把单元格设置成文本格式,从根源避免数字变成 E+。修复方案分为已经显示 E + 的补救处理,和后续预防录入长数字的前置设置,两种思路要分开操作,很多新手只修改单元格格式,却不知道已经丢失的尾数无法还原,造成身份证号错误还继续使用,属于非常典型的办公隐患。
情况一 仅显示 E+ 底层数据还完整 修复步骤
第一步 选中已经变成 E + 的单元格或者整列。
第二步 右键点击选中区域,选择设置单元格格式,也可以按快捷键 ctrl 加 1 调出窗口。
第三步 在数字选项卡里面,选择数值分类,设置小数位数为 0,点击确定。
第四步 确认数字是否恢复完整,如果尾数没有变成 0,就代表修复成功。
补充说明,如果数字位数特别长,恢复之后单元格仍然显示不全,是列宽不够,拖动列标加宽列宽,完整数字就可以正常展示。
情况二 尾数已经变成 0 精度丢失补救方案
如果改成数值格式之后,末尾几位全部变成 0,说明 excel 已经把长数字截断丢失精度,这种情况单元格内部原始数字已经不存在,不能依靠改格式复原,只能重新录入原始编号。
补救操作要点,重新录入之前,必须提前把这一列设置成文本格式,再重新输入完整长数字,避免再次变成 E+。
前置预防方案 录入长数字之前设置文本格式
这个是推荐的标准做法,适合身份证银行卡号会员编号这类长编号。
第一步 选中要录入长数字的整列单元格。
第二步 右键打开设置单元格格式,切换到数字选项卡,选择文本,点击确定。
第三步 保持这一列是文本格式之后,再输入长数字,输入完成不会自动转换成 E + 科学计数。
备选方法,输入长数字之前,先输入英文单引号,再接着输入完整数字,单引号不会在单元格里面显示,但是会强制 excel 把内容识别成文本,适合少量单独单元格临时录入。
其他可选处理方案
自定义格式方案,选中单元格,设置单元格格式里面选择自定义,类型框输入 0,确定,这个方式同样是关闭科学计数显示,适合还没有发生精度丢失的数据。
导入外部数据的时候预防,从 csv 或者其他软件导入长编号,导入向导里面,对应列的数据类型选择文本,不要选择常规,导入之后就不会自动变成 E+。
不同处理方案对比表格
| 处理方案 | 是否可以防止精度丢失 | 适用场景 | 缺点 |
|---|---|---|---|
| 提前设置文本格式 | 可以 | 批量录入身份证银行卡长编号 | 后续不能直接做数值求和运算 |
| 录入前加英文单引号 | 可以 | 少量单个单元格临时录入 | 批量处理不方便 |
| 修改为数值格式 | 不可以恢复已经丢失尾数 | 只是显示 E + 底层数据完整 | 尾数变 0 的数据无效 |
| 导入向导设置文本列 | 可以 | 外部导入大批量长编号 | 只在导入阶段生效 |
深度注意要点
第一 excel 常规数值最大有效位数是 15 位,超过 15 位的数字,15 位之后的数字会强制变成 0,这个是软件本身机制,不是操作错误,身份证号是 18 位,所以直接常规格式输入一定会丢位变成 E+。
第二 文本格式的长数字,属于文本内容,不能直接参与加减求和,如果后续还需要计算,就要权衡,长编号类信息一般不需要计算,优先使用文本格式。
第三 如果已经保存文件并且关闭,再次打开发现数字变成 E+,并且尾数已经变 0,没有备份文件的情况下,原始尾数无法找回,重要长编号建议提前备份原始数据。
第四 自定义格式输入 0,只是改变显示样式,底层仍然是数值类型,超过 15 位依旧存在精度丢失风险,不能替代文本格式。
第五 不要单纯加宽列宽,加宽列宽只能解决短数字显示井号,长数字只要触发科学计数,只加宽列宽依旧会显示 E+,必须修改单元格格式。
处理 excel 表格中数字变成 E + 的问题,核心原则就是还没丢位就修改格式恢复显示,已经丢位只能重新录入,长编号类数据优先提前设置文本格式,从源头规避科学计数自动转换,避免后续报表身份证卡号出错。
【常见问题】
问题 1 excel 表格中数字变成了 E + 怎么办,为什么改完格式末尾变成 0
回答 1 excel 表格中数字变成了 E + 怎么办,excel 数值只保留 15 位有效数字,超过 15 位的长数字后面几位自动变成 0,属于精度丢失,这种情况修改格式也不能恢复原始尾数,只能提前设置文本格式之后重新录入原始数字。
问题 2 excel 表格中数字变成了 E + 怎么办,输入英文单引号有用吗
回答 2 excel 表格中数字变成了 E + 怎么办,录入长数字之前输入英文单引号可以强制识别为文本,能够防止数字变成 E+,单引号不会显示在单元格内,适合少量单元格临时录入,批量长编号推荐整列设置文本格式。
问题 3 excel 表格中数字变成了 E + 怎么办,加宽列宽能不能解决
回答 3 excel 表格中数字变成了 E + 怎么办,单纯加宽列宽无法解决,因为触发 E + 是 excel 自动启用科学计数法,不是列宽不足,必须进入设置单元格格式,把格式改成数值或者文本才可以修复。
问题 4 excel 表格中数字变成了 E + 怎么办,文本格式之后还能求和吗
回答 4 excel 表格中数字变成了 E + 怎么办,设置成文本格式之后,内容属于文本类型,不能直接正常求和,如果需要计算,就不能使用文本格式,长编号不需要计算的场景,优先文本格式避免 E+。
【免责申明】
本文内容基于 excel 常规版本功能进行操作讲解,不同版本 excel 界面菜单名称和功能细节可能存在细微差异,操作前建议保存原始文件备份,本文仅供学习参考,不承担因精度丢失无法恢复原始数据造成的业务损失。


