您可以将地址转换为电子表格中的邮政编码吗?


12

给定一列带有城市和州的街道地址,但电子表格中没有邮政编码,我想在第二列中输入一个公式来生成邮政编码。你知道这样做的方法吗?

我正在处理美国地址,但与其他国家/地区有关的答案也很有趣。

更新:我猜我主要是希望有一种方法可以在Google Spreadsheets中做到这一点。我意识到您需要访问一个庞大的邮政编码数据库才能执行此操作,但是在我看来,这样的数据库已经在Google Maps中。如果我在其中输入没有邮递区号的地址,我会找回有邮递区号的地址。如果Google Maps可以进行查找,那么也许也可以在电子表格中进行查找。


与@ChrisF的答案有关,您所在的地区是?
JMD 2010年

我没有意识到“ ZIP”一词在美国以外的地区适用。无论如何,我现在已经指定。
艾萨克·摩西

鲜为人知的事实是,仅需要邮政编码即可使您的邮件传递更快。与USPS首次引入时(1968年)相比,这种用法在今天已经不那么适用了,因为USPS现在可以扫描输入的地址,如果缺少ZIP则可以为您查找。如果您不提供此服务,那么USPS将使用其系统来提供服务(最重要的是,这样做不会产生额外的费用)。另外,邮政编码是美国特定的。大多数地方都有它们,但在其他任何地方都被称为邮政编码。
krowe

Answers:


8

Google电子表格具有一系列用于外部数据功能。如果您可以找到(或创建)通过传递参数进行查找的站点,则可以在该站点中输入类似于以下内容的公式:

Cell A1 (Address): 123 Main St
Cell B1 (City): Springfield
Cell C1 (State): MO

Cell D1 (combined address): =concatenate(A1,B1,C1)

Cell E1 (imported zip code): 
   =importData(concatenate("http://zipfinder.com/search?addr=",D1))

这是一个假想的想法。Google Spreadsheets中存在用于外部数据的连接,importData和其他函数。“ zipfinder.com”不存在。有很多站点可以帮助您从地址中找到邮政编码。棘手的部分是找到一个接受URL中的地址数据并返回足够简单的内容以供Google Spreadsheets使用的地址。


4

电子表格中不会包含任何内容,因为经过验证的地址数据库非常昂贵。

您可能会找到可以为您完成此任务的在线服务。例如,在英国,皇家邮政(Royal Mail)网站允许您查找邮政编码(在英国相当于邮政编码),但每天只能进行15次搜索。这是供个人使用。企业将获得更多-但是您必须注册并为此付费。

在其他国家也将提供类似的服务。


4

您可以使用与该答案类似的方法,使用Google Maps服务编写自定义Apps脚本功能。为此,请打开工具...脚本编辑器...,然后将此函数粘贴到:

function getZIP(address) {
  var geo = Maps.newGeocoder().geocode(address);
  var resultComponents = geo.results[0].address_components;
  for (var i = 0; i < resultComponents.length; i++) {
     if (resultComponents[i].types.indexOf('postal_code') > -1) {
       return resultComponents[i].long_name;
    }
  }
}

然后,您可以在电子表格单元格中调用它,例如,它为白宫正确返回20500:

=getZIP("1600 Pennsylvania Ave. NW, Washington, DC")

与其他方法不同,它也适用于非美国地区,例如,它为埃菲尔铁塔正确返回了75007:

=getZIP("Champ de Mars, 5 Avenue Anatole France, Paris, France")

1
Google API是否会限制您使用地理编码器的频率?如果是这样,在这里值得一提。
Excellll

1
:配额页面没有列出具体的地图,所以我最好的猜测是20K /天(网址提取限制)developers.google.com/apps-script/guides/services/...
最大Ghenis

3

您确实需要某种外部地址查找工具或服务。仅使用城市/州,通常无法确定正确的邮政编码,因为许多城市具有多个邮政编码,许多城市的街道跨越多个邮政编码,因此您甚至不能只添加街道并使用城市/州/ zip公式或查找。如果您需要查找地址的邮政编码,则必须分解并支付服务或工具的费用。没有解决的办法。


是的,我这样做是为了谋生-将数据从一种格式转换为另一种格式。如前所述,某些城市可以具有多个邮政编码,因此,世界贸易中心大楼拥有自己的邮政编码,因此城市/州是不够的。USPS有一个可以执行此操作的超大型数据库,但是它也需要街道地址,并且相对昂贵。
Blackbeagle

您不能使用2000年以来的美国人口普查数据吗?我相信它是免费使用的。
克里斯,2010年

1
我不熟悉它,但是即使您正在谈论大量的数据,也无法在Excel电子表格中轻松地做到这一点。
BBlake

3

在Excel中很难做到。您将需要使用SOAP工具箱或使用Visual Studio调用Web服务。必须想知道微软在想什么。

在Google文档电子表格中进行操作然后将其导出到Excel中,要容易得多。

您可以使用GeoCoder.ca的XML Web服务通过地址查找邮政编码。在Google文档中,您可以使用以下功能:

=importXML("http://geocoder.ca/?geoit=xml&showpostal=1&locate=" & A2,"//postal")

(其中A2是街道地址。)

您还可以通过以下方式获取经度:

=importXML("http://geocoder.ca/?geoit=xml&showpostal=1&locate=" & A2,"//geodata")

请注意,GeoCoder每天都会限制其免费服务的请求。


3

是的-您现在可以使用以下网址在Google文档表中找到邮政编码:

第1步:此着陆页中,输入您要搜索的地址。

第2步:我搜索了华盛顿特区的“ 1245 5TH ST”地址,其网址如下所示:

https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=1245+5TH+ST&address2=&city=Washington&state=DC&urbanCode=&postalCode=&zip=

步骤3:复制并粘贴以下公式,并替换CELL,CITY,STATE:

=Mid(importHTML(CONCATENATE("https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=",CELL,"&address2=&city=CITY&state=STATE&urbanCode=&postalCode=&zip="),"list",15),Find("DC",importHTML(CONCATENATE("https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=",CELL,"&address2=&city=CITY&state=STATE&urbanCode=&postalCode=&zip="),"list",15))+2,11)

请记住,第3步中的URL应与第2步中的URL匹配。该单元格将根据您的目标单元格值而动态。

步骤3中的函数在STATE值之后提取11个字符。因此,您将必须调整MID函数,以便获得正确的值。这对我来说非常有效。

最后一件事:Google每张纸只允许50个导入功能。因此,使用上述方法,您一次只能找到25个邮政编码。


今天早上这对我没用。
停泊

1

在加拿大,加拿大邮政网站允许按地址搜索邮政编码(我不知道有任何每日限制),但是不幸的是,这并不能帮助您集成电子表格。我也有兴趣看到潜在的解决方案。我一直用手动邮政编码查找不认识的邮政编码。


0

在英国,您需要访问邮政编码地址文件(PAF),其中列出了该国家/地区的所有地址。直接访问PAF会花费金钱,而且金额也不小。我们每年需要为每个席位支付200英镑左右的费用,才能无限制地访问更新的PAF数据,但是每个月我们都会向其抛出1万多个请求。

在这方面,大多数其他地区都是相似的,因此我想您不会以您希望的方式找到访问zip数据的合法方法。

即使您找到一个允许对数据进行RESTful查询的站点,将zip直接直接插入电子表格中,他们无疑也会对在任何设定时间内可以进行的查询数量实施严格的限制。


0

有一些在线服务将处理Excel电子表格(或CSV /制表符分隔的文件)并追加缺少的邮政编码。价格范围从几美元到$ 100 +不等,具体取决于服务提供商,其中有些需要支付安装费,处理费和紧急订购费。

一些服务提供商可以在几分钟之内将处理后的文件退还给您,而其他一些声称“紧急处理”的文件则需要3个工作日以上。根据您的问题,您不想投资购买软件并花数千美元购买现场软件解决方案。如果是这样,那么在线服务提供商是您最好的选择。

为了全面披露,我是SmartyStreets的创始人。我们提供全自动的在线地址验证。您可以将Excel文件拖放到我们的网站上,我们将对其进行处理,并在大约一两分钟内根据大小将其返回给您。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.