excel - 在excel中将完整地址分为街道地址、城市、州、邮编、国家
问题描述
[我有超过 47K 不同国家的完整地址数据,我想将它们分成地址、城市、州、邮政编码、国家。我尝试了很多方法,但无法使用任何公式,因为这些地址的结构和模式不同注:我对 Excel VBA 或宏没有很好的了解]
解决方案
这个任务太复杂了,不能用简单的公式来完成,你需要 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
推荐阅读
- c++ - 为什么子类的子类不能访问其祖先的受保护成员?
- database - 在postgresql中,导入csv文件后,序列号不同步
- javascript - Mongoose 在错误的键中创建文档:根据模式的值顺序
- doxygen - Doxygen EXCLUDE_PATTERNS 正则表达式
- ruby - 需要基本设置才能使用 ruby appium 框架在真实的 android 设备(chrome 浏览器)上测试网站
- python-2.7 - 使用 Joblib+Dask 将许多子进程生成到 HPC 上的许多不同节点
- html - 内联Content-Security-Policy 是否会影响服务器的策略?
- sql-server - SQL Server:在 CASE 和 ELSE 部分中调用相同的函数
- javascript - 脚本返回“TypeError:无法从 NULL 读取属性长度”,即使它不是
- c++ - 如何在 C++ 应用程序中正确包含标题并使用 STL 向量?