首页 > 解决方案 > 在excel中将完整地址分为街道地址、城市、州、邮编、国家

问题描述

[我有超过 47K 不同国家的完整地址数据,我想将它们分成地址、城市、州、邮政编码、国家。我尝试了很多方法,但无法使用任何公式,因为这些地址的结构和模式不同注:我对 Excel VBA 或宏没有很好的了解]

标签: excelvbaexcel-formulastreet-address

解决方案


这个任务太复杂了,不能用简单的公式来完成,你需要 VBA 来完成,让我给你一些指导:

  • 您可以计算逗号的数量以猜测内容(显然有些地址以建筑物的名称开头)。如果建筑物的名称不存在,只需添加一个逗号,以便在任何地方都具有相同的格式。
  • 一旦所有内容都具有相似的格式(逗号的数量在任何地方都相等),您就可以开始拆分,基于逗号作为分隔符。结果将是“名称”、“完整的街道名称和编号”、“完整的城市 ID”、...
  • 仍然由不同项目组成的事物(例如“完整城市 ID”)可以通过取第一部分(这是一个数字,与其余部分用空格分隔)和第二部分(“完整城市 ID”的其余部分)来拆分")。

编辑:添加小宏

这个宏包含函数Split()IsNumeric(),这就是你所需要的:

Sub test()
Dim A, B As Integer
T = Split("1, 2, X", ",")
If IsNumeric(T(0)) Then A = T(0) Else A = -1
If IsNumeric(T(2)) Then B = T(2) Else B = -1

MsgBox "Result : A=[" & CStr(A) & "], B=[" & CStr(B) & "]"
End Sub

推荐阅读