Можете ли вы преобразовать адрес в почтовый индекс в электронной таблице?

37790
Isaac Moses

Учитывая столбец адресов улиц с указанием города и штата, но без почтового индекса в электронной таблице, я хотел бы поместить формулу во второй столбец, который дает почтовый индекс. Вы знаете способ сделать это?

Я имею дело с адресами США, но интересны и ответы, касающиеся других стран.

ОБНОВЛЕНИЕ: Я полагаю, что в основном я надеюсь, что есть способ сделать это в Google Spreadsheets. Я понимаю, что для этого вам необходим доступ к обширной базе данных с почтовым индексом, но мне кажется, что такая база данных уже находится в Картах Google. Если я помещу туда адрес без почтового индекса, я получу обратно адрес с почтовым индексом. Если Карты могут выполнить такой поиск, возможно, есть способ сделать это и в электронных таблицах.

11
Относительно ответа @ ChrisF, в каком регионе вы находитесь? JMD 14 лет назад 0
Я не понимал, что термин «ZIP» применяется за пределами США. Во всяком случае, я указал сейчас. Isaac Moses 14 лет назад 0
Малоизвестный факт, почтовые индексы нужны только для ускорения доставки почты. Это использование менее применимо сегодня, чем когда они были впервые введены (в 1968 году), потому что USPS теперь сканирует напечатанные адреса и ищет ZIP-файл для вас, если он отсутствует. Если вы его не предоставите, тогда USPS будет использовать свою систему для его предоставления (и, что самое главное, это не требует дополнительных затрат). Кроме того, почтовые индексы являются специфическими для США. В большинстве мест они есть, но везде их называют почтовыми индексами. krowe 9 лет назад 0

9 ответов на вопрос

8
Doug Harris

У электронных таблиц 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)) 

Это гипотетическая идея. Конкатенация, importData и другие функции для внешних данных существуют в электронных таблицах Google. "zipfinder.com" не существует. Есть много сайтов, которые помогут вам найти почтовый индекс по адресу. Самое сложное - найти тот, который принимает адресные данные в URL и возвращает что-то достаточно простое для использования в электронных таблицах Google.

4
ChrisF

В электронную таблицу не будет встроено ничего, поскольку базы данных с проверенными адресами очень дороги.

Вы можете найти онлайн-сервис, который сделает это за вас. Например, в Великобритании веб-сайт Royal Mail позволяет вам искать почтовые индексы (в Великобритании эквивалент почтовых индексов), но вы можете ограничиться 15 поисками в день. Это для личного использования. Бизнес получит больше - но вы должны зарегистрироваться и заплатить за это.

Подобные услуги будут существовать в других странах.

3
BBlake

Вам нужен какой-то внешний инструмент или служба поиска адресов. При использовании только города / штата часто невозможно определить правильный почтовый индекс, поскольку во многих городах есть несколько почтовых индексов, а во многих городах есть улицы, которые охватывают несколько почтовых индексов, поэтому вы даже не можете добавить только улицу и использовать город / штат / ZIP формула или поиск. Если вам нужно найти почтовые индексы для адресов, вам придется сломаться и оплатить услугу или инструмент. Там нет хорошего способа обойти это.

Да, я делаю это для жизни - преобразование данных из одного формата в другой. Как уже упоминалось, в некоторых городах может быть несколько почтовых индексов, поэтому в зданиях Всемирного торгового центра были свои собственные почтовые индексы, поэтому города / штата недостаточно. У USPS есть сверхмассивная база данных, которая может сделать это, но для этого также требуется адрес улицы и он относительно дорогой. Blackbeagle 14 лет назад 0
Не могли бы вы использовать данные переписи населения США 2000 года? Я считаю, что это бесплатно для использования. Chris 14 лет назад 0
Я не знаком с этим, но даже если вы говорите об огромном количестве данных, вы вряд ли сможете легко это сделать в электронной таблице Excel. BBlake 14 лет назад 1
3
Neil McGuigan

Это трудно сделать в Excel. Вам нужно будет вызвать веб-сервис с использованием инструментария SOAP или использовать Visual Studio. Нужно задаться вопросом, что думает Microsoft.

Это гораздо проще сделать в электронной таблице Google Docs, а затем экспортировать в Excel:

Вы можете использовать веб-сервис XML GeoCoder.ca для поиска почтового индекса по адресу. В Google Docs вы бы использовали эту функцию:

=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
Sushil Jhamnani

Да. Теперь вы можете найти почтовые индексы в своем документе Документов Google, используя следующий URL:

Шаг 1: На этой целевой странице введите адрес, который вы хотите найти.

Шаг 2: Я искал адрес «1245 5TH ST» в Вашингтоне, округ Колумбия, и URL выглядел так:

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) 

Помните, что URL-адрес шага 3 должен совпадать с URL-адресом шага 2. Ячейка будет динамической в ​​зависимости от целевого значения ячейки.

Функция на шаге 3 извлекает 11 символов после значения STATE. Следовательно, вам придется настроить MID-функцию, чтобы получить правильные значения. Это отлично сработало для меня.

И последнее: Google позволяет использовать только 50 функций импорта на листе. Таким образом, с помощью вышеуказанного метода вы можете найти только 25 почтовых индексов за один раз.

Это не сработало для меня этим утром. mooreds 8 лет назад 0
3
Max Ghenis

You can write a custom Apps Script function with the Google Maps service, using a similar approach to this answer. To do this, open Tools...Script editor... and paste this function in:

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; } } } 

You can then call this in a spreadsheet cell, for example, it correctly returns 20500 for the White House:

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

Unlike some other approaches, it also works for non-US locations, e.g. it correctly returns 75007 for the Eiffel Tower:

=getZIP("Champ de Mars, 5 Avenue Anatole France, Paris, France") 
Ограничивает ли Google API частоту использования геокодера? Если так, то стоит упомянуть здесь. Excellll 8 лет назад 0
На странице квот не указан список Карт, поэтому я предпочитаю использовать 20 тыс. В день (ограничение на выборку URL): https://developers.google.com/apps-script/guides/services/quotas?hl=en#current_quotas. Max Ghenis 8 лет назад 0
1
JMD

В Канаде веб-сайт Канадской почты позволяет искать почтовые индексы по адресу (а я не знаю ни одного дневного лимита), но, к сожалению, это не поможет вам с интеграцией в вашу электронную таблицу. Я заинтересован в том, чтобы увидеть потенциальные решения для этого. Я всегда использовал ручной поиск почтового индекса для тех, кого я не знаю.

0
Lunatik

В Великобритании вам потребуется доступ к файлу почтовых индексов (PAF), в котором перечислены все адреса в стране. Прямой доступ к PAF стоит денег, а не незначительной суммы. Мы платим около 200 фунтов стерлингов за место в год за неограниченный доступ к обновленным данным PAF, но затем мы ежемесячно выбрасываем более 10 000 запросов.

В этом отношении большинство других территорий схожи, поэтому я полагаю, что вы не найдете законного способа доступа к данным почтового индекса так, как вы этого хотите.

Даже если бы вы могли найти сайт, который позволил бы RESTful запрашивать их данные, чтобы вставить zip-файл непосредственно в электронную таблицу, они, без сомнения, установили бы строгие ограничения на количество запросов, которые могли бы быть сделаны в любой установленный период.

0
Jonathan Oliver

Существует несколько онлайн-сервисов, которые обрабатывают электронную таблицу Excel (или CSV / файл с разделителями табуляции) и добавляют недостающие ZIP-коды. Цена может варьироваться от нескольких долларов до 100 долларов США + в зависимости от поставщика услуг, некоторые из которых имеют сборы за установку, сборы за обработку и сборы за срочные заказы.

Некоторые поставщики услуг могут вернуть обработанный файл вам в течение нескольких минут, в то время как другие, которые заявляют о «срочной обработке», могут занять более 3 рабочих дней. Исходя из вашего вопроса, вы не хотите инвестировать в покупку программного обеспечения и тратить тысячи долларов на программное решение на месте. Если это так, то лучшим выбором будет онлайн-провайдер.

В интересах полного раскрытия информации я являюсь основателем SmartyStreets. Мы предлагаем полностью автоматизированную онлайн- проверку адреса . Вы можете перетащить файл Excel на наш веб-сайт, и мы обработаем его и вернем вам в течение одной или двух минут в зависимости от размера.

Похожие вопросы