You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中通过邮政编码批量提取城市与州信息?

嘿,处理五万条邮编匹配城市和州,手动肯定不现实,给你几个高效的批量方案,根据你的场景选就行:

方法1:用Power Query免费批量匹配(推荐,无需额外工具)
  • 选中你的邮编列(比如A列),点击「数据」选项卡 → 「从表格/区域」(旧版Excel可能叫「来自表格」),确认弹窗后进入Power Query编辑器。
  • 在编辑器里选中邮编列,点击「添加列」→「自定义列」,输入公式:
    =Json.Document(Web.Contents("https://api.zippopotam.us/us/" & [Zip Code]))
    把[Zip Code]换成你实际的邮编列名,比如你的列叫「邮政编码」就写[邮政编码]。
  • 点击自定义列右侧的展开箭头,先展开places字段,再展开里面的place name(对应城市)和state(对应州)字段。
  • 最后点击「关闭并上载」,把匹配好的数据导回Excel,直接复制到你新建的City和State列即可。
    注意:如果是美国以外的邮编,把URL里的us换成对应国家代码(比如ca对应加拿大);如果遇到API请求限制,分批次处理(比如每次1万条)就好。
方法2:离线本地匹配(适合不能联网的场景)
  • 先准备一份完整的邮编-城市-州对照表(比如USPS公开的免费数据集),整理成单独的工作表,命名为ZipDB,列顺序为「邮编」「城市」「州」。
  • 在主工作表的City列(比如B2单元格)输入公式:
    =VLOOKUP(A2, ZipDB!$A:$C, 2, FALSE)
    State列(C2)输入:
    =VLOOKUP(A2, ZipDB!$A:$C, 3, FALSE)
  • 选中B2和C2,双击单元格右下角的填充柄,就能一键批量填充所有数据。
    提示:如果你的邮编是带前导零的文本格式(比如00501),要确保对照表和主列都是文本格式,避免匹配错误;可以用TEXT(A2, "00000")把数字格式的邮编转成标准5位文本格式。
方法3:用XLOOKUP简化公式(仅适用于Excel 365/2021及以上)

如果你用的是新版Excel,XLOOKUP比VLOOKUP更灵活直观:

  • City列公式:
    =XLOOKUP(A2, ZipDB!$A:$A, ZipDB!$B:$B, "无匹配", 0)
  • State列公式:
    =XLOOKUP(A2, ZipDB!$A:$A, ZipDB!$C:$C, "无匹配", 0)
    XLOOKUP不用纠结列顺序,还能直接设置无匹配时的提示文本,用起来更省心。

内容的提问来源于stack exchange,提问作者Hakan Yorgancı

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:16:22