跳至主要内容

如何在Excel中从地址列表提取邮政编码?

Author: Sun Last Modified: 2025-07-31

在Excel中管理客户信息时,通常会有一个完整的地址列表,每个条目既包含街道详情也包含邮政编码(邮编)。如果你需要从这些地址中单独提取邮政编码——例如用于邮件列表、区域分析或数据格式化——手动逐一分离它们可能会非常繁琐且容易出错,特别是当处理大量数据时。幸运的是,Excel提供了实用的方法可以快速高效地一次性提取多个邮政编码,而无需手动操作。本文将提供使用Excel公式和VBA宏解决方案提取邮政编码的逐步指导。

使用公式在Excel中提取邮政编码

使用用户定义函数在Excel中提取邮政编码


使用公式在Excel中提取邮政编码

在许多常见的地址列表中,邮政编码位于地址字符串的末尾,并且长度不超过8个字符。此方法最适合于列表中的所有地址都遵循一致格式,并且邮政编码作为每个地址的最后一项,由空格分隔的情况。

要使用公式快速提取邮政编码,请按照以下步骤操作:

1. 选择一个空白单元格以显示邮政编码(例如,如果您的地址在A1,则选择B1)。输入以下公式:

=MID(A1,FIND("zzz",SUBSTITUTE(A1," ","zzz",SUMPRODUCT(1*((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))=" "))-1))+1,LEN(A1))

2. 按下Enter键。A1中的地址邮政编码将显示在所选单元格中。

3. 要将此公式应用于其他地址,请选择带有公式的单元格,沿列向下拖动填充柄以覆盖所有地址行,Excel将自动为每个地址提取邮政编码。

a screenshot of extracting postcode from address list with formula

提示:此公式假设邮政编码是地址字符串中最后一个空格之后的最后一项。如果您的地址结构不同,例如邮政编码出现在中间或由逗号分隔,此公式可能无法返回正确结果。为了扩展此方法以适应国际邮政编码或自定义格式,您可能需要采用不同的或更高级的公式方法,或者尝试下面的VBA解决方案。


使用用户定义函数在Excel中提取邮政编码

如果您的地址数据更为复杂、不一致或包含各种格式和位置的邮政编码,如以下截图所示,VBA宏可以提供更灵活的提取选项。这种自动化方法可以快速处理整个地址列,仅分离并返回邮政编码,从而节省大量时间并减少手动操作。

 extract various postcodes from address list

1. 按Alt + F11打开Microsoft Visual Basic for Applications窗口。

2. 在VBA窗口中,点击插入 > 模块以创建新模块。将以下VBA代码复制并粘贴到模块窗口中:

Public Function ExtractPostcode(text As String) As String
    Dim reg As New RegExp
    Dim m As MatchCollection
    reg.Pattern = "\b([A-Z]{1,2}\d{1,2}[A-Z]?\s*\d[A-Z]{2}|\d{5}(?:-\d{4})?|\d{6})\b"
    reg.IgnoreCase = True
    reg.Global = False
    
    If reg.Test(text) Then
        Set m = reg.Execute(text)
        ExtractPostcode = m(0).Value
    Else
        ExtractPostcode = ""
    End If
End Function

3. 粘贴代码后,在VBA编辑器窗口中,选择工具 > 引用。参见截图:

click Tools > References

4. 在“引用”对话框中,勾选Microsoft VBScript Regular Expressions 5.5并点击确定

check Microsoft VBScript Regular Expressions 5.5

5. 返回工作表,并输入此公式:=ExtractPostcode(A2),向下拖动填充柄到其他单元格。所有邮政编码立即显示,参见截图:

tye a formula to get the result

提示:通过此代码,您可以自动在Excel中几秒钟内提取任何国家或地区的邮政编码;只需简单调整正则表达式以匹配目标区域的邮政编码规则,即可快速适应不同的格式——例如英国的“SW1A 1AA”,美国的“12345-6789”,或中国的“100000”——极大地提升您的数据清理和分析效率。


相关文章:


最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!