【发布时间】:2017-02-07 08:43:38
【问题描述】:
我目前正在处理一个关于城市地址的非常大的数据源,其中数据看起来像这样。
来源:
没有。 174 5/F 174 史密斯街 174 史密斯街 TOR
我使用了一个函数来删除extendoffice 上显示的重复项。 https://www.extendoffice.com/documents/excel/2133-excel-remove-duplicate-characters-in-string.html
Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
Dim x
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each x In Split(txt, delim)
If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
Next
If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
End With
结束函数
第二列变成了这样:
没有。 174 5/F 史密斯街 TOR
我现在要做的就是把它变成这个(去掉NO.并移动门牌号):
5/F 174 SMITH STREET TOR
最好的方法是做到这一点吗?有没有办法只移动街道名称旁边的街道号码。
我的一个想法是将地址分解为不同的字符串,然后将它们放入不同的列并重新排列。
我也希望我可以用 VBA 写一些东西,因为地址都是不同的长度并且有不同的间距
谢谢。
【问题讨论】: