Excel地址拆分技巧:PowerQuery智能分列教程
时间:2026-02-28 10:21:05 187浏览 收藏
还在为Excel中杂乱无章的地址数据头疼?本文手把手教你用Power Query智能分列功能,将“广东省深圳市南山区科技园路1号”这类复杂地址精准、高效、自动化地拆解为独立的“省”“市”“区”三列——无需手动清洗,不依赖VBA,融合正则匹配、M函数提取、地理数据类型识别及混合符号预处理五大实战技巧,轻松应对各种非标地址格式,让地址结构化从此变得简单可靠。

如果您在Excel表格中拥有多列包含复杂格式的地址数据,例如“广东省深圳市南山区科技园路1号”,需要将其精准拆分为“省”“市”“区”三列,则可借助Power Query的智能分列功能实现结构化提取。以下是具体操作步骤:
一、将原始地址数据加载至Power Query编辑器
该步骤旨在将Excel中的地址列转换为Power Query可处理的查询对象,为后续分列提供数据基础。
1、选中包含地址数据的整列(如A列),确保首行为标题(如“完整地址”)。
2、在Excel功能区点击【数据】→【从表格/区域】,勾选“表包含标题”,点击确定。
3、系统自动打开Power Query编辑器,数据以查询形式呈现,此时可进行结构化清洗与拆分。
二、使用“按分隔符拆分列”配合中文地域关键词定位
该方法利用常见省级行政区简称与固定层级顺序特征,通过嵌套分隔逻辑逼近省市区边界。
1、在Power Query编辑器中,右键单击地址列标题,选择【拆分列】→【按分隔符】。
2、在弹出窗口中,分隔符选择【自定义】,输入省|市|区|自治州|盟|地区(注意使用竖线“|”连接多个关键词)。
3、勾选【使用正则表达式】选项(若未显示,请先启用Power Query高级选项中的“允许正则表达式”)。
4、点击确定后,生成多列临时字段,其中可能包含空值或冗余字符,需进一步清理。
三、添加自定义列并调用Text.BetweenDelimiters提取层级
该方法通过Power Query M语言函数精准捕获位于“省”与“市”之间、“市”与“区”之间的文本片段,适用于无统一标点但有明确层级词的地址。
1、在Power Query编辑器中,点击【转换】→【格式】→【清理】,去除地址两端空格及不可见字符。
2、点击【转换】→【添加列】→【自定义列】,在公式框中输入以下M代码提取“省”:
3、Text.BetweenDelimiters([完整地址],"","省")+ "省"(假设原始列为“完整地址”,且“省”字前无其他干扰词)。
4、再次添加自定义列,输入公式提取“市”:Text.BetweenDelimiters([完整地址],[省列名],"市") & "市"(需将[省列名]替换为上一步生成的列名)。
5、同理添加第三列提取“区”:Text.BetweenDelimiters([完整地址],[市列名],"区") & "区"。
四、应用地理编码插件辅助识别(需提前安装Geography数据类型)
该方法依赖Excel内置地理数据类型引擎,自动解析地址语义并映射标准行政区划,适合格式较规范的大批量数据。
1、返回Excel工作表,选中地址列,点击【数据】→【地理】→【地理】(若未激活,需在【文件】→【选项】→【数据】中启用地理数据类型)。
2、等待状态栏显示“正在识别地理实体”,完成后右键该列→【插入数据类型】→【省/直辖市】,生成新列。
3、重复操作,依次插入【市】和【区/县】字段,系统将自动匹配并填充对应层级名称。
4、右键新生成的地理列→【转换为值】,解除动态链接,保留静态文本结果。
五、使用嵌套条件替换+Text.Split组合处理混合格式
该方法针对含括号、顿号、斜杠等非标准分隔符的地址,先统一符号再按长度与关键词优先级切分。
1、在Power Query编辑器中,点击【转换】→【替换值】,将所有“(”“)”“、”“/”“-”替换为“|”。
2、再次执行【拆分列】→【按分隔符】,选择“|”,拆分为多列。
3、添加条件列:点击【转换】→【条件列】,设置规则——若某列包含“广东”“江苏”“浙江”等34个省级单位全称或简称,则归为“省”列。
4、对剩余列依次设置市、区识别规则,例如包含“深圳”“杭州”“成都”等高频地级市名称即为“市”,包含“南山”“西湖”“锦江”等常用市辖区名即为“区”。
以上就是《Excel地址拆分技巧:PowerQuery智能分列教程》的详细内容,更多关于的资料请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
110 收藏
-
140 收藏
-
365 收藏
-
242 收藏
-
209 收藏
-
369 收藏
-
213 收藏
-
223 收藏
-
398 收藏
-
213 收藏
-
173 收藏
-
185 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习