Skip to content

合并多个 Excel 时,最容易出错的四件事 ​

把十几个部门交上来的表合成一张,听起来是复制粘贴的活。真正难的地方在于,合并过程中的数据损坏往往不报错,你要过很久才发现。

一、表头不一致 ​

同一个字段,各部门写法五花八门:「手机号」「联系电话」「电话」「Tel」。按位置合并会把不同含义的列拼在一起,按名称合并则会拆成四列各填四分之一。

合并前先统一表头,是唯一可靠的做法。如果来源表格无法约束,至少要在合并后核对一遍列数——列数比预期多,基本就是表头没对齐。

二、日期变成五位数字 ​

Excel 内部用「从 1900 年 1 月 1 日起的天数」存日期,2026-09-05 实际存的是 46266。一旦某个环节把它当成数值处理,显示出来就是一串五位数,而且看不出这本来是个日期。

反过来也有问题:文本格式的日期在不同区域设置下会被解析成不同结果。03/04/2026 在美式格式里是 3 月 4 日,在英式格式里是 4 月 3 日——两种解释都合法,程序不会报错。

对策:跨系统传递日期时统一用 YYYY-MM-DD 文本格式,这个写法没有歧义。

三、前导零消失 ​

手机号、身份证号、订单号、邮编——这些看着像数字,实际是编号。Excel 默认按数值处理,00123 存进去变成 123,18 位身份证号还会被转成科学计数法 1.10105E+17,末尾几位永久丢失。

这类字段必须在导入时就指定为文本。等发现的时候数据已经没了,从结果里找不回来。

四、去重口径不清 ​

「去掉重复的行」这句话不够精确。是全字段完全一致才算重复,还是只要手机号相同就算?两个人同名同姓但身份证不同,算不算重复?

去重前必须明确按哪几个字段判定。按全字段去重最保守(几乎不会误删),按单一业务主键去重最激进(可能删掉合法数据)。选错方向的代价不对称:多留几条重复数据容易事后处理,误删的数据往往找不回来。

五、CSV 的编码与分隔符 ​

CSV 看起来是最简单的格式,实际上它没有统一标准,坑集中在两处。

编码:Excel 在中文 Windows 上默认按 GBK 读取,而多数程序导出的是 UTF-8。用 Excel 直接打开 UTF-8 的 CSV,中文全是乱码——文件本身没问题,是打开方式不对。带 BOM 的 UTF-8 能让 Excel 正确识别,代价是某些程序会把 BOM 当成第一个字段的一部分。

分隔符:字段里如果本身含有逗号(比如地址「北京市朝阳区,某某路」),必须用引号包起来,否则一行会被切成多列,且后续所有列全部错位。这类错误的特征是「大部分行正常,个别行列数不对」。

比对两张表,不要靠肉眼 ​

核对新旧两版数据时,逐行看是最容易出错的方式——人眼会自动忽略细微差异。

正确做法是指定主键字段做差异比对,输出三类结果:只在 A 里有的、只在 B 里有的、两边都有但字段值不同的。第三类最重要,也最容易被漏掉,因为行数对得上,看起来「没问题」。

JSON 转表格的一个坑 ​

从接口拿到的 JSON 转成表格时,嵌套结构会丢。{"user": {"name": "张三", "tags": ["a", "b"]}} 展平成表格,tags 这个数组要么被拼成一个字符串,要么被拆成多列,两种处理都会让下游的人困惑。

转换前先确认数据是不是「平的」——每条记录都是一层键值对。不平的话,先决定嵌套字段怎么处理,再转。

相关工具 ​

以下工具在浏览器本地处理,表格数据不上传服务器。

最后更新:2026-09-05