power query可将复杂地址精准拆分为省、市、区三列:先按省级关键词分列得“省”及剩余字符串,再清理后按“市”左拆得“市”,最后清洗干扰词后按“区”左拆并补全得“区”,最终合并校验为文本输出。

如果您在Excel表格中拥有多列包含复杂结构的地址数据,例如“广东省深圳市南山区科技园路1号”,需要将其精准拆分为“省”“市”“区”三列,则Power Query提供了灵活且可复用的智能分列能力。以下是实现该目标的具体操作步骤:
一、加载地址数据至Power Query编辑器
将原始含地址的Excel表格选中后,通过【数据】选项卡中的【从表格/区域】功能导入Power Query,确保勾选“表包含标题”,使地址列作为可操作字段载入编辑环境。
1、选中地址所在的数据区域(如A1:A1000)。
2、点击【数据】→【从表格/区域】→确认创建表格并勾选“表包含标题”。
3、在弹出的Power Query编辑器窗口中,确认地址列名称(如“完整地址”)已正确显示。
二、基于省级行政区划关键词进行首次分列
利用中国34个省级行政区全称(含“省”“自治区”“直辖市”“特别行政区”)作为分隔依据,提取“省”字段,并保留后续字符串用于进一步拆分。
1、在Power Query编辑器中,右键点击地址列 → 选择【转换】→【按分隔符拆分列】→【使用分隔符】。
2、在分隔符输入框中粘贴以下完整字符串:省|自治区|直辖市|特别行政区。
3、选择“向右拆分”并勾选“高级选项”中的“每个匹配项拆分一次”,点击确定。
4、新生成的首列为“省”,第二列为剩余部分(如“深圳市南山区科技园路1号”)。
三、对剩余地址段执行嵌套条件分列提取“市”
在第二列中识别地级市名称,优先匹配含“市”字的行政单位,但需排除“自治州”“盟”等非“市”建制干扰项,确保仅提取首个有效市级名称。
1、选中第二列(剩余地址),点击【转换】→【格式】→【清理】,去除首尾空格与不可见字符。
2、点击【转换】→【按分隔符拆分列】→【使用分隔符】,输入市,选择“向左拆分”并限定“只拆分一次”。
3、将拆分后左侧结果重命名为“市”,右侧结果(如“南山区科技园路1号”)保留为新列。
四、对末段内容应用正则式逻辑提取“区”
针对末段字符串,以“区”“县”“县级市”为关键标识进行定位,优先捕获首个以“区”结尾的连续汉字组合,避免误匹配“开发区”“新区”等非行政区划名称。
1、选中末段列,点击【转换】→【替换值】,将开发区|新区|生态区|保税区|高新区|示范区|旅游区|试验区|合作区全部替换为空值,降低干扰。
2、再次点击【转换】→【按分隔符拆分列】→【使用分隔符】,输入区,选择“向左拆分一次”。
3、将左侧结果追加“区”字构成完整区名(如“南山区”),右侧剩余部分(如“科技园路1号”)可忽略或另存为详细地址。
五、合并与类型校验完成结构化输出
将三列独立提取的“省”“市”“区”横向合并为新表结构,并统一设置为文本类型,防止数字前导零丢失或科学计数法变形。
1、按住Ctrl键依次点击“省”“市”“区”三列标题,右键→【删除其他列】。
2、点击【转换】→【数据类型】→【文本】,确保三列均为文本格式。
3、点击【主页】→【关闭并上载】→【关闭并上载至】→选择“现有工作表”,指定插入位置(如D1单元格)。










