Excel 怎么用分列拆分数据
一列里混着姓名电话地址,分列能一次拆成多列,不用写公式。入口、分隔符怎么选、前导 0 为什么会丢,一次说清。
一列里塞着姓名、电话、地址,想拆成三列,多数人第一反应是复制粘贴。其实 Excel 自带的分列能一次拆完,而且不用写公式。它一次只处理一列,但足够应付从系统导出、从聊天记录粘进来这类脏数据。
入口在哪
位置在「数据」选项卡中间偏右,按钮名字就叫分列,图标是一列格子加一个箭头。部分版本把它放在数据工具那一组里。
它没有默认快捷键。自己加一个也行,但没必要,分列通常是一次性操作,不值得占一个键位。
按钮是灰的点不动,多半是当前选中的是多个单元格或者整张表。分列一次只认一列,先点中那一列的任意一个单元格,再点按钮。
再提醒一句:分列会把结果写到右边的相邻列里,覆盖原有内容,而且不会问你。做之前先看右边有没有数据。
具体步骤
- 先备份。复制一份工作表,或者在右侧插入足够多的空列,数量按你能拆出的最大列数估。
- 点中要拆的那一列的任意单元格,不要多选,也不要把表头连进去。
- 点「数据」里的分列,弹出向导。第一步选类型:内容里有人为加的符号就选分隔符号,各段长度固定(比如定长导出的文件)就选固定宽度。
- 第二步勾分隔符。常见的是逗号、制表符、空格、分号,列表里没有的选其他,在右边小框里输入那个符号。
- 同一行里勾上连续分隔符号视为单个处理,能吃掉多余的空格和连续逗号。
- 第三步给每一列定格式。这是最容易被跳过的一步:电话、编号、证件号这类要选文本,否则前导 0 会被吃掉,长数字会变成科学计数。
- 点完成。结果直接写在原列和右侧相邻列里,原列内容被替换。
几个坑
- 右边有数据就点完成。结果被直接覆盖,撤消只能退回一步,中间又做了别的操作就找不回来了。
- 不设文本格式。以 0 开头的编号、超过十几位的长数字,分完就变形,而且这种损失多半不可逆。
- 日期被按区域习惯解析。同一串数字,不同系统设置下会解析成日在前还是月在前,分完发现整列日期错位。
- 分隔符选错。中文逗号和英文逗号是两个字符,勾了英文那个,中文逗号不会被拆,看起来像没生效。
- 以为能一步拆多列。分列一次只处理一列,多列要分别做,或者用 Power Query 一次搞定。
- 拆完公式引用错位。原列被拆成几列,右侧原本引用它的公式会跟着偏移,拆前先把依赖这列的公式挪走或转成值。
怎么验证
先看行数。拆分前后总行数应该一致,行数变多说明有内容被换行符拆开了,得回头检查源数据。
再抽查首尾。看第一行、最后一行、以及中间随便挑几行,确认没有整段挤在第一列、也没有多出空白列。
然后看格式。编号列是否保留前导 0,长数字是否还是数字而不是一长串带 E 的写法,日期列是否还能正常排序。
最后用计数核对:对拆出来的某一列做计数,和预期条数比。差一两个,多半是首行标题被当成了数据算进去。
常见问题
分列后前导 0 没了怎么补
一旦被转成数字,前导 0 就回不来了,只能用公式补:把编号当文本,在前端补足位数,再转成值覆盖原列。更省事的做法是下次分列时在向导第三步直接选文本。
一列里有好几种分隔符怎么办
先把不常用的符号批量替换成主分隔符,替换完再分列一次。符号多的数据更适合用 Power Query 按分隔符拆列,能一次处理多种。
能不能拆成多行
分列只能横向拆列,不能纵向拆行。要按符号把一行拆成多行,得用 Power Query 里按分隔符拆分到行。
一句话总结:分列就在数据选项卡里,选中一列、选对分隔符、第三步一定把编号类列设成文本,拆之前先给右边腾出空列。