excel里数字显示不对劲,基本就两种情况:一种是单元格左上角飘着绿色小三角,说明数字被当成文本存了;另一种是身份证号、订单号这类长数字直接变成了 4.11882e+17。前者要转成能正常计算的数值,后者千万别急着转数值,得先按文本格式保存,免得15位以后的数字被 excel 自动改掉。
先判断是文本数字还是科学计数法
选中单元格之后,先看编辑栏和单元格左上角。要是单元格左上角有绿色小三角,点旁边蹦出来的黄色感叹号,菜单里出现“数字储存成文字”或“转换成数字”,这就是文本数字;如果单元格里显示 4.11882E+17 这类写法,多半是长数字被自动用科学计数法显示了。

用错误提示把文本数字转成数值
要是你只需要金额、数量、短编号这类数字参与求和,选中这些带绿色小三角的单元格,点黄色感叹号,再选“转换成数字”就行。处理完以后,数字会恢复成右对齐,SUM、算平均值、排序这些操作才会按数值逻辑正常运行。要是一次要处理很多行,直接框住整列再点转换,不用一个个单元格慢慢点。
长数字出现 E+ 时,先打开单元格格式
身份证号、快递单号、银行卡号这类内容不要直接当普通数字处理。选中已经显示成 E+ 的区域,右键打开菜单,点“设置单元格格式”。这里的关键不是把格式改成数值,而是先把后续输入区域改成文本格式,再重新粘贴原始号码。
本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd、xlwt和xlutils模块。另外还演示了如何通过Tcl tcom包对excel操作。感兴趣的朋友可以过来看看

把格式改成文本后再录入长数字
在“单元格格式”窗口里选择“文本”,点确定。这样后面输入或粘贴的长数字会按文本保存,不会再被压成科学计数法,也不会把末尾几位自动变成 0。已经被 Excel 改坏的长数字,单靠改格式救不回来,要回到原始数据重新复制一遍。

需要计算时再转数值,不需要计算就保留文本
最后按用途决定怎么处理:金额、库存、销量这类数据要计算,就用“转换成数字”或 VALUE 函数转成数值;身份证号、订单号、工号这类只是用来识别,不参与加减乘除,建议保留文本格式。导入 CSV 时也一样,向导里提前把对应列指定为文本,比导入后再调整稳得多。










