将Zipcode数据库与地址匹配

时间:2015-10-05 16:45:49

标签: excel vba excel-vba excel-formula geocode

我有一个包含邮政编码的物理美国地址的电子表格。

我也是美国所有拉链码的估计纬度/经度的数据库,可在此处找到:http://www.boutell.com/zipcodes/

我正在寻找一个VBA解决方案,将邮政编码与正确的纬度/长度相匹配。

声明“如果邮政编码匹配,请在新列中输入相应的邮政编码”。

1 个答案:

答案 0 :(得分:1)

你可以在没有VBA的情况下做到这一点。我假设您使用邮政编码/ GPS坐标下载了.CSV。

在包含物理地址的现有电子表格中,复制/移动"邮政编码"工作表(在Excel中打开)到现有工作表。然后,只需使用:

=IF($B2<>"",INDEX(zipcode!$D:$D,MATCH($B2,zipcode!$A:$A,0)),"")代表纬度,=IF($B2<>"",INDEX(zipcode!$E:$E,MATCH($B2,zipcode!$A:$A,0)),"")代表“经度”。

请注意,我假设您的邮政编码位于B列...根据需要调整$B2

索引/匹配(类似于VLookup)通过从索引返回一些值来工作。 zipcode!$D:$D是纬度列表。 Match()部分会告诉Index()部分要使用的行。您正在使用单元格B2中的值,并在zipcode!$A:$A范围或邮政编码列中查找匹配项。当找到匹配时,它会将行号返回到Index()公式......这有什么意义吗?

编辑:以下是如何使用这些内容的屏幕截图。由于它们只是公式,因此您可以直接在电子表格中输入。

enter image description here

因此,在要添加纬度和经度的电子表格中,添加公式。另外,请确保您已将zipcode.csv文件复制到工作簿中。