🤖 AI 跟我学 新手入门

Excel 拆分 AI 实操:姓+名/地址一键分列

Excel 拆分 AI 教程:用 AI 把姓名/地址/混合字段一键拆成多列,含 6 个真实场景 prompt 模板、TEXTSPLIT 新函数和 Power Query 兜底方案

发布 2026/05/20 📎 参考官方文档

你拿到一份名单表:A 列叫「姓名」,里面塞的是”张三丰”、“欧阳修”、“司马懿”——HR 让你拆成”姓”和”名”两列。或者地址列里是”广东省深圳市南山区科技园路 8 号”,要拆成省 / 市 / 区 / 详细地址 4 列。手动复制粘贴拆 500 行能拆到崩溃;用 Excel 自带的「分列」碰到中文姓和复姓直接歇菜。这时候让 Excel 拆分 AI 出手,是最稳的解法。

把你的拆分规则用大白话告诉 AI,AI 给一个 TEXTSPLIT 或者正则公式,30 秒搞定整列。本文给你万能 prompt 模板 + 6 个真实场景示例 + 3 种兜底方案。

为什么 Excel 自带的”分列”不够用

Excel 的「数据 - 分列」功能有 3 个硬伤:

  1. 只能按固定分隔符:逗号 / 空格 / Tab,但「张三丰」中间没分隔符
  2. 没法识别复姓:欧阳 / 司马 / 上官 / 诸葛——一刀切按”第 1 个字”会出错
  3. 地址分列要按”省/市/区”语义切:分列功能纯按字符切,分不出”广东省”和”深圳市”的边界

AI 加上 2026 年 Excel 365 新出的 TEXTSPLIT 函数(按字符拆)+ XMATCH(按规则匹配),3 类场景全覆盖。

用哪个工具

工具拆姓名拆地址国内可用备注
Claude(含 Excel 插件)优秀(识别复姓)优秀需代理Claude for Excel 插件
ChatGPT GPT-5优秀优秀需代理推 TEXTSPLIT 方案
豆包 / Kimi良好(基础姓名 OK)良好直接可用免费
WPS AI良好良好直接可用WPS 表格里直接调用
Excel Copilot良好良好需代理 + 365月费 30 美元

国产 AI(豆包 / Kimi)拆中文姓名/地址的准确率不比国外差,首推免费方案

万能 prompt:Excel 拆分专家

下面这段套到任何 AI 工具都能跑:

📋 Prompt 模板

你是一位资深 Excel 数据清洗专家,擅长用公式、Power Query、VBA 三种方式拆分单元格。

我的需求: [用大白话描述要拆什么。比如「把 A 列姓名拆成 B 列姓 + C 列名,识别欧阳/司马/上官等 17 个常见复姓」]

数据样本(前 5 行): A 列「待拆字段」

  1. [样本 1]
  2. [样本 2]
  3. [样本 3]
  4. [样本 4]
  5. [样本 5]

期望拆分结果: B 列:[说明] C 列:[说明] D 列:[说明]

Excel 版本:[Excel 365 / Excel 2019 / WPS / Google Sheets] 数据范围:A2 到 A[N]

请按以下格式输出:

推荐方案(公式版,Excel 365 优先用 TEXTSPLIT/TEXTBEFORE/TEXTAFTER)

[直接给能粘的公式]

备选方案 1(旧版 Excel 兼容,用 LEFT/RIGHT/FIND)

[兼容公式]

备选方案 2(Power Query 步骤,适合一次性大批量)

[逐步操作清单]

公式解释

逐行说明每个参数在做什么。

怎么用

  • 把公式粘到:[单元格]
  • 向下拖到:[范围]
  • 注意事项:[复姓识别 / 异常值兜底]

异常处理

  • 遇到 [常见异常] 怎么办
  • 如果某行拆不出来,公式返回什么

填好方括号里的内容发给 AI。下面 6 个场景示范怎么填。

6 个真实场景示例

场景 1:中文姓名拆姓 + 名(含复姓)

需求:A 列有 200 个中文姓名,要拆成 B 列姓 + C 列名,要识别欧阳 / 司马 / 上官 / 诸葛 / 慕容 / 公孙 / 长孙 / 东方 / 南宫 / 西门 / 闻人 / 太史 / 端木 / 宇文 / 万俟 / 鲜于 / 尉迟 17 个常见复姓。

AI 给出公式(Excel 365):

B2(姓):
=IF(ISNUMBER(MATCH(LEFT(A2,2),{"欧阳";"司马";"上官";"诸葛";"慕容";"公孙";"长孙";"东方";"南宫";"西门";"闻人";"太史";"端木";"宇文";"万俟";"鲜于";"尉迟"},0)),LEFT(A2,2),LEFT(A2,1))

C2(名):
=MID(A2,LEN(B2)+1,99)

公式思路:先用 MATCH 看 A2 的前 2 个字是不是复姓,是的话姓取 2 个字,否则取 1 个字;名就是剩下的部分。

场景 2:地址拆省 / 市 / 区 / 详细

需求:A 列地址形如”广东省深圳市南山区科技园路 8 号深圳湾科技生态园 7 栋”,拆成 B 省 + C 市 + D 区 + E 详细。

AI 给出(Excel 365):

B2(省):
=LEFT(A2, FIND("省", A2 & "省"))

C2(市):
=MID(A2, LEN(B2)+1, FIND("市", A2)-LEN(B2))

D2(区):
=MID(A2, LEN(B2)+LEN(C2)+1, FIND("区", A2 & "区")-LEN(B2)-LEN(C2))

E2(详细地址):
=MID(A2, LEN(B2)+LEN(C2)+LEN(D2)+1, 99)

注意事项:直辖市(北京 / 上海 / 天津 / 重庆)和自治区(新疆 / 西藏 / 宁夏 / 广西 / 内蒙古)要单独处理。让 AI 把”省/市/区/自治区/自治州/盟”全部列举,公式会复杂一点但能覆盖所有省份。

场景 3:邮箱拆用户名 + 域名

需求:A 列邮箱”[email protected]”,拆成 B 用户名 + C 域名。

B2(用户名):
=TEXTBEFORE(A2, "@")

C2(域名):
=TEXTAFTER(A2, "@")

TEXTBEFORE 和 TEXTAFTER 是 Excel 365 / WPS 新函数,一行搞定。老版本用 LEFT/RIGHT + FIND 凑。

场景 4:商品规格拆品牌 + 型号 + 配置

需求:A 列商品名”iPhone 16 Pro 256GB 黑色”,拆成 B 品牌 + C 型号 + D 容量 + E 颜色。

B2(品牌):
=TEXTBEFORE(A2, " ")

C2(型号):
=TEXTBEFORE(TEXTAFTER(A2," "), " ", 2)

D2(容量):
=TEXTBEFORE(TEXTAFTER(A2, " ", 3), " ")

E2(颜色):
=TEXTAFTER(A2, " ", 4)

如果数据格式不统一(有的 3 段、有的 5 段),让 AI 用正则方案或 Power Query 兜底。

场景 5:身份证号拆出生日期 + 性别 + 户籍地

需求:A 列 18 位身份证号,要拆出生日期、性别(看第 17 位奇偶)、户籍地(前 6 位地区码)。

B2(出生日期):
=DATE(MID(A2,7,4), MID(A2,11,2), MID(A2,13,2))

C2(性别):
=IF(MOD(MID(A2,17,1),2)=1, "男", "女")

D2(户籍地区码):
=LEFT(A2,6)

地区码转地名需要一份「6 位地区码-省市区」对照表,用 VLOOKUP AI 公式 查表即可。

涉及隐私的批量身份证拆分,务必脱敏后再处理,不要把真实身份证号粘给云端 AI。

场景 6:手机号区号 + 号段拆分

需求:A 列手机号”138-1234-5678”或”13812345678”,要识别号段(移动 / 联通 / 电信)。

B2(号段前 3 位):
=LEFT(SUBSTITUTE(A2,"-",""), 3)

C2(运营商):
=XLOOKUP(B2*1, {134;135;136;137;138;139;130;131;132;185;186;187;133;180;181;189}, 
        {"移动";"移动";"移动";"移动";"移动";"移动";"联通";"联通";"联通";"联通";"联通";"联通";"电信";"电信";"电信";"电信"}, "未知")

号段表 2026 年还在更新(虚拟运营商号段越来越多),建议建一张维表用 VLOOKUP 查。

手把手 4 步走

第 1 步:先看 5-10 行真实样本

不要直接发”帮我拆地址”——先看你的数据里到底有哪些”长得不一样”的:

  • 有没有省份省略(“深圳市南山区”没”广东省”)
  • 有没有自治区 / 直辖市
  • 有没有错别字 / 多空格 / 半角全角混用

样本看清楚再写 prompt,避免来回 5 轮才拆对。

第 2 步:填好 prompt 发给 AI

把 5 行样本贴进 prompt 的”数据样本”部分。贴样本是关键——AI 看不到你的实际数据,光凭描述很难给精准公式。

第 3 步:先在 5 行上验证

公式拿到先粘到 B2,手动核对前 5 行结果对不对。对了再拖到全表。

特别注意复姓、直辖市、缺省值这些”边界 case”,AI 经常忘记处理。

第 4 步:异常行单独处理

500 行里通常有 5-10 行公式拆不对(脏数据 / 格式异常)。3 种处理方式:

  1. 加 IFERROR 兜底:公式外面包 IFERROR,拆不出来返回”待人工核对”
  2. 单独筛选异常行:用 =IF(LEN(A2)<>18,"异常","") 标出来,手工处理
  3. 二次清洗:把异常行单独喂给 AI 让它再分析

5 个让 AI 拆分更准的技巧

技巧 1:贴 5-10 行最有代表性的样本

不要只贴”张三”、“李四”这种最简单的。故意贴 2 行复姓、1 行单字名(如”王一”)、1 行多空格异常,让 AI 看到全貌。

技巧 2:明确”哪些算异常、哪些算正常”

在 prompt 里写:「正常情况是 X,异常情况包括 A、B、C」。AI 会用 IFERROR / IF 把异常行兜住。

技巧 3:要求”输出 Power Query 步骤”作为备选

公式只能处理标准化数据。Power Query 适合复杂规则、一次性大批量。让 AI 同时给”公式方案 + Power Query 方案”,复杂场景切到 Power Query。

技巧 4:要求”先反问 3 个最关键的问题”

如果你需求模糊(“帮我拆地址”),在 prompt 里加一句「如果信息不全,请先问我 3 个最关键的问题再给公式」。AI 会问”是否要拆省/市/区”、“是否要拆详细地址”,避免你拿到一个不对的公式。

技巧 5:拆完用 COUNTBLANK 验证

公式拖完,用 =COUNTBLANK(B2:B501) 看有没有空白(说明公式没匹配上)。空白超过 3% 就要回去调公式或处理异常。

一个常见失败案例 + 怎么救

失败场景:发”帮我把姓名拆成姓和名”,AI 给了 =LEFT(A2,1),结果”欧阳修”拆成”欧”+“阳修”。

救援步骤

  1. 告诉 AI 数据特点:「我的数据里有复姓,常见的有欧阳/司马/上官/诸葛…」
  2. 要求”识别复姓”:把”识别复姓”作为明确需求写进 prompt
  3. 加测试样本:贴 5 行含复姓的样本,让 AI 用样本验证公式
  4. 要求”输出验证”:让 AI 在公式后给 3 行测试数据 + 预期结果,眼睛能看出对错

记住:AI 不知道你数据里有什么”妖魔鬼怪”,你不告诉它,它就用最简单的公式糊弄你

进阶玩法 + 类似场景

进阶玩法 1:TEXTSPLIT 一行拆成多列

Excel 365 / WPS 新出的 TEXTSPLIT 函数能直接按分隔符拆成多列:

=TEXTSPLIT(A2, "-")

如果 A2 是”广东-深圳-南山-科技园”,结果直接展开成 4 列。比 LEFT/MID/FIND 简洁 10 倍。

进阶玩法 2:用 Power Query 自动化

复杂规则(地址分省/市/区/街道、含多种异常)用 Power Query 比公式稳:

  1. 数据 - 来自表格/区域 - 选数据
  2. 拆分列 - 按分隔符 / 按位置 / 按字符数
  3. 添加自定义列写更复杂的逻辑(M 语言)
  4. 关闭并加载

后续数据变了,刷新一下自动跑。

进阶玩法 3:拆完再去重

拆完的”姓”列经常一堆重复值(500 行可能就 50 个不同的姓),用去重看分布。

类似场景

常见问题

Q:Excel 2019 没有 TEXTSPLIT 怎么办? A:用 LEFT/MID/RIGHT + FIND 组合凑,AI 都会给。或者用「数据 - 分列」功能(按分隔符切),适合简单场景。复杂的用 Power Query。

Q:WPS 表格能用这些函数吗? A:能。WPS 现在支持 TEXTSPLIT / TEXTBEFORE / TEXTAFTER / XLOOKUP 这些新函数。本文公式 90% 在 WPS 也能直接跑。

Q:拆地址时直辖市/自治区怎么处理? A:在 prompt 里明确告诉 AI:“数据里可能有北京/上海/天津/重庆 4 个直辖市,和新疆/西藏/广西/宁夏/内蒙古 5 个自治区”。AI 会用 IF 嵌套或 SWITCH 函数处理。

Q:能拆英文姓名(First Name + Last Name)吗? A:能。英文姓名按空格拆即可:=TEXTBEFORE(A2," ") 拿 First Name、=TEXTAFTER(A2," ",-1) 拿 Last Name。中间 Middle Name 用 TEXTSPLIT 一次拆完。

Q:拆完数据如何验证准确率? A:3 种方法:1)抽样 20-50 行人眼核对;2)用 COUNTIF 看”拆完为空”的比例;3)拆完做透视表看分布是不是符合预期(比如省份只有 34 个值)。