将邮政编码数据库与地址匹配

Match Zipcode Database to Address

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

我还有一个估计 lat/long 美国所有邮政编码的数据库,可以在这里找到:http://www.boutell.com/zipcodes/

我正在寻找 VBA 解决方案以将邮政编码与正确的 lat/long 相匹配。

表示 "If zip codes match, enter the corresponding zipcode in new column" 的语句。

不用 VBA 也可以很简单地做到这一点。我假设您下载了带有 zip codes/GPS 坐标的 .CSV。

在您现有的点差sheet中,使用物理地址,copy/move "zipcode" 工作sheet(在 Excel 中打开)到您现有的 sheet。然后,只需使用:

=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

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

编辑:这是如何使用这些的屏幕截图。由于它们只是公式,您将直接输入您的价差sheet。

因此,在您要添加纬度和经度的传播sheet 中,添加公式。还要确保您已将 zipcode.csv 文件复制到您的工作簿中。