按城市(C列)与郡(D列)提取A列邮政编码并去重归类
需求可实现,附两种实用解决方法
完全可以实现这个需求,下面提供两种常用的解决方式,分别适合Excel手动操作和代码批量处理场景:
Excel操作方案
方法1:Power Query(推荐,步骤清晰)
- 选中表格包含表头的所有数据区域,点击顶部菜单栏「数据」→「从表格/区域」(记得勾选「我的表格有标题」)
- 进入Power Query编辑器后,选中「郡」和「邮政编码」两列,点击「开始」→「删除重复项」,先去掉同一郡下重复的邮编
- 选中「郡」列,点击「转换」→「分组依据」,设置:
- 分组列:郡
- 新列名:唯一邮政编码
- 操作:所有行
- 点击新列右侧的展开按钮,只勾选「邮政编码」,取消「将列名用作前缀」的勾选
- 选中展开后的「邮政编码」列,点击「转换」→「合并列」,选择分隔符(比如逗号加空格),确认后得到合并后的邮编列表
- 最后点击「关闭并上载」,就能得到每个郡对应的所有唯一邮编整理结果
方法2:公式组合(快速实现)
- 先提取所有不重复的郡:在空白列(比如E2单元格)输入
=UNIQUE(D:D),按回车后会自动列出所有唯一郡 - 在F2单元格输入公式
=TEXTJOIN(", ", TRUE, UNIQUE(FILTER(A:A, D:D=E2))),按回车后下拉填充,即可得到每个郡对应的所有唯一邮编(用逗号分隔)
Python代码方案(适合大数据或批量处理)
如果表格数据量较大,或者需要自动化处理,用pandas库可以快速完成:
import pandas as pd # 读取你的表格文件(支持Excel、CSV等格式) df = pd.read_excel("你的表格文件名.xlsx") # 如果是CSV就用pd.read_csv() # 保留郡和邮编列并去重 unique_data = df[["郡", "邮政编码"]].drop_duplicates() # 按郡分组,将同一郡的邮编用逗号分隔合并 final_result = unique_data.groupby("郡")["邮政编码"].agg(lambda x: ", ".join(map(str, x))).reset_index() # 保存整理后的结果 final_result.to_excel("整理好的邮编列表.xlsx", index=False)
内容的提问来源于stack exchange,提问作者Sandi Budic
相关产品推荐
相关产品推荐

