Excel 公式

Excel 拆分单元格 / 分列怎么做

更新于 2026-06-04 · 阅读约 7 分钟

姓名和电话挤在一格、地址要拆成省市区——这是 Excel 里最常见的数据清洗需求。本文先讲清 Excel「数据→分列」功能和 LEFT/MID/RIGHT/FIND 公式的具体写法,再告诉你这些做法在哪里容易翻车,最后教你用超级表的列拆分功能或 AI 一句话把混在一起的数据拆开,不用手写公式。


超级表中把一列按规则拆成多列的示意
把混在一起的内容拆成多列——超级表里点选规则或让 AI 拆。

先说清楚「拆分」在 Excel 里有两种理解:一种是把一个单元格的内容原地拆成多列(也叫「分列」),另一种是用公式从单元格里提取其中一段文字写到旁边的列里。两者目的相同,但操作方式不一样——下面分别讲。

办法一:数据 → 分列(按分隔符或固定宽度)

Excel 内置的「分列」向导适合批量处理,尤其是整列数据格式统一的情况(比如每格都是「姓名-电话」用横杠隔开)。步骤如下:

  1. 选中要拆分的那一列(或多列相邻单元格)。
  2. 点击顶部菜单:数据分列(英文版是 Data → Text to Columns)。
  3. 弹出向导,第一步选择分隔方式:
    • 分隔符号:内容用逗号、横杠、空格或自定义字符分隔时选这个;
    • 固定宽度:每条数据在固定位置切断(比如前 4 位是年份)时选这个。
  4. 按提示设置好分隔符或拖动切割线,预览看对了之后,选好目标区域(注意:默认会覆盖右侧列,先确认右边有空列)。
  5. 点「完成」,数据被拆分成多列。
小提示
分列操作会破坏性地修改原始数据——被拆开的那列原内容消失,只剩分出来的几列。建议先复制一份原始列再操作,或在超级表里做(超级表的拆分保留原列,新增结果列)。

办法二:LEFT / MID / RIGHT + FIND 公式提取

如果只想在旁边新列里提取部分内容、原列保持不动,用公式更灵活。最常用的四个函数:

  • LEFT(text, n):从左边取 n 个字符;
  • RIGHT(text, n):从右边取 n 个字符;
  • MID(text, start, n):从第 start 位开始取 n 个字符;
  • FIND(find_text, within_text):返回某个字符在字符串里的位置编号。

示例 1:A 列是「张三-13800001234」,用横杠隔开姓名和电话。

  • 提取姓名:=LEFT(A2, FIND("-", A2) - 1)——找到横杠的位置,取其左边所有字符;
  • 提取电话:=MID(A2, FIND("-", A2) + 1, 100)——从横杠后一位开始,取 100 个字符(比实际长度大就行,只会取到末尾)。

示例 2:A 列是「20240315」这类 8 位日期字符串,提取年月日。

  • 年份:=LEFT(A2, 4)
  • 月份:=MID(A2, 5, 2)
  • 日期:=RIGHT(A2, 2)

需要同时提取身份证生日或手机号段?可参考从身份证提取生日、手机号提取归属地的详细公式写法。

这些办法的麻烦在哪里

分列功能和公式都能用,但在真实数据里会遇到几类令人头疼的情况:

  • 格式不统一就乱:有的格用逗号隔,有的格用空格隔,有的直接没分隔符——分列向导和 FIND 都没法兼顾,只能一段一段手改。
  • 中文地址按位置拆不准:「北京市朝阳区」和「黑龙江省哈尔滨市道里区」字符数不同,固定宽度和 MID 都不好用;按「市」「省」「区」字符 FIND 又容易碰到「市中区」「省道」这类歧义。
  • 嵌套公式越写越长:一旦需要同时处理「可能有也可能没有分隔符」「部分格是空值」「分隔符出现多次」等情况,公式嵌套三四层,同事根本看不懂也不敢改。
  • 分列是破坏性操作:数据拆完原列消失,如果来源还会更新,下次还要重新做一遍。
一句话总结痛点
规则齐整时公式凑合,但现实数据往往不齐整——这时公式越写越复杂,分列越做越烦,而且都不能应对后续数据更新。

更简单:超级表列拆分 / AI 一句话拆

超级表(TableDI)是一款本地运行的桌面高能表格助手,它把「拆分列」做成了两种可视化方式,都不需要写公式。

方式 A:列拆分(规则清晰时用)

  1. 把含有混合内容的列导入超级表(Excel / CSV 拖进来即可)。
  2. 右键点击目标列标题,选择「列拆分」。
  3. 在弹出面板中选择拆分规则:按分隔符(逗号、横杠、空格……)或按固定位置。
  4. 预览正确后确认,超级表在右侧自动新增几列,原列保留不变

方式 B:AI 一句话拆(规则不整齐时用)

  1. 选中要处理的列,打开 AI 处理面板。
  2. 用一句话描述想要的结果,例如:「把这列拆成姓名、电话两列,以横杠为分隔符」或「把地址拆成省、市、区三列」。
  3. 超级表的 AI(AI.Generate)理解意图后,自动生成拆分结果列,无需手写公式。
  4. 预览结果、确认无误后保存。

对于地址、姓名+手机混写、编码前缀等复杂情况,AI 拆分比任何公式都省心。配合AI 一句话清洗数据,还能在拆分前先把格式统一,降低噪声。

四种方法对照

对比项 Excel 分列向导 LEFT/MID/RIGHT 公式 超级表列拆分 超级表 AI 拆分
操作方式 向导 + 点击 手写嵌套公式 右键 → 选规则 → 确认 一句话描述
原列是否保留 不保留(覆盖) 保留(新列出结果) 保留 保留
格式不统一的情况 容易出错 公式极复杂 基本规则可用 AI 理解意图处理
中文地址/复杂场景 不适合 需大量 FIND 嵌套 部分适合 描述一句话即可
源数据更新后 要重新做 公式自动更新 自动更新 自动更新
需要学习成本 低(但怕格式变) 高(需记函数参数) 极低 极低

常见问题

不规则的内容怎么拆?比如有的格子有分隔符、有的没有

Excel 公式里需要用 IFERROR + FIND 嵌套来处理「分隔符可能不存在」的情况,容易出错。超级表的 AI 拆分直接描述预期结果即可,比如「有横杠的按横杠拆姓名和电话,没横杠的整列放姓名列、电话列留空」,AI 会按意图处理,不用自己写分支逻辑。

拆完之后能撤销吗?

Excel 分列操作可以通过 Ctrl+Z 撤销(只要还没保存关闭),但存文件后原始数据就没了,所以建议事先复制一份。超级表的列拆分始终保留原列,结果以新增列形式呈现,随时可以删除新列、原数据不受影响;AI 拆分同理,确认前有完整预览,不满意直接取消。

中文地址怎么拆成省、市、区三列?

这是 Excel 公式最棘手的场景之一:「省」「市」「区/县」字符在字符串里的位置不固定,直辖市(北京市、上海市)和普通省份结构也不同。用公式需要大量 FIND/IF 嵌套,容错性差。推荐的做法是在超级表里打开 AI 处理,输入「把地址列拆成省份、城市、区/县三列,直辖市省份和城市填同一个值」,AI 清洗能力会理解中文地址的语义结构来完成拆分,比手写公式可靠得多。

不想再写嵌套公式拆数据?

免费下载超级表,点几下或说一句话就把混在一起的数据拆开,原列保留、自动更新

免费下载(macOS / Windows)