Чи можете ви перетворити адресу в поштовий індекс в електронній таблиці?


12

З огляду на стовпчик адрес вулиць з містом та штатом, але відсутність поштових значень у таблиці, я б хотів покласти формулу у другий стовпчик, який дає поштовий індекс. Чи знаєте ви спосіб це зробити?

Я маю справу з американськими адресами, але відповіді, що стосуються інших країн, теж цікаві.

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


Пов’язаний з відповіддю @ ChrisF: у якому регіоні ви знаходитесь?
JMD

Я не усвідомлював, що термін "ZIP" застосовується за межами США. У всякому разі, я зараз уточнив.
Ісаак Мойсей

Маловідомий факт, поштові індекси потрібні лише для того, щоб швидше доставити вашу пошту. Це використання сьогодні менш застосовне, ніж коли вони були вперше представлені (у 1968 р.), Оскільки USPS тепер сканує введені адреси та шукає ZIP для вас, якщо він відсутній. Якщо ви не надаєте його, то USPS використовуватиме їх систему, щоб забезпечити його (а краще за все, це не зайві витрати). Також поштові індекси є специфічними для нас. У більшості місць їх є, але їх називають поштовими індексами скрізь.
krowe

Відповіді:


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))

Це гіпотетична ідея. Зв'язки, importData та інші функції для зовнішніх даних існують у електронних таблицях Google. "zipfinder.com" не існує. Існує безліч сайтів, які допоможуть вам знайти поштовий індекс з адреси. Найскладніша частина - це пошук, який приймає дані адреси в URL і повертає щось досить просте для використання електронних таблиць Google.


4

У електронну таблицю нічого не буде, оскільки перевірені бази даних дуже дорогі.

Ви можете знайти Інтернет-сервіс, який зробить це за вас. Наприклад, у Великобританії веб-сайт Royal Mail дозволяє шукати поштові індекси (Великобританія, еквівалентні поштовим індексам), але у вас обмежено 15 пошукових запитів на день. Це для особистого користування. Компанії отримають більше - але ви повинні зареєструватися і заплатити за це.

Подібні послуги існуватимуть і в інших країнах.


4

Ви можете написати спеціальну функцію програми Script за допомогою служби Google Maps, використовуючи аналогічний підхід до цієї відповіді . Для цього відкрийте Інструменти ... Редактор сценаріїв ... і вставте цю функцію в:

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
Чи обмежує API Google, як часто ви можете використовувати геокодер? Якщо так, то тут варто згадати.
Excellll

1
Сторінка квот не перераховує Карти конкретно, тому найкращим моїм припущенням буде 20 к / день (обмеження для отримання URL-адреси): developers.google.com/apps-script/guides/services/…
Макс Ghenis

3

Вам потрібен якийсь інструмент або послуга пошуку зовнішніх адрес. За допомогою міста / штату часто немає способу визначити правильний поштовий індекс, оскільки у багатьох містах є кілька поштових індексів, а у багатьох містах є вулиці, які охоплюють кілька поштових індексів, тому ви навіть не можете додати лише вулицю та використовувати місто / штат / zip формула або пошук. Якщо вам потрібно знайти поштові індекси для адрес, вам доведеться зламати та заплатити за послугу чи інструмент. Немає нічого хорошого.


Так, я роблю це для життя - перетворення даних з одного формату в інший. Як уже згадувалося, деякі міста можуть мати кілька поштових індексів. З цього приводу будівлі Всесвітнього торгового центру мали свої поштові індекси, тому міста / штату недостатньо. У USPS є надзвичайно масивна база даних, яка може це зробити, але для цього потрібна також адреса вулиці і є відносно дорогою.
Blackbeagle

Не могли б ви не використовувати дані перепису США за 2000 рік? Я вважаю, що це безкоштовно для використання.
Кріс

1
Я не знайомий з цим, але навіть якщо ви говорите про величезну кількість даних, і це не те, що ви зможете легко робити в електронній таблиці Excel.
BBlake

3

Це важко зробити в Excel. Вам потрібно буде зателефонувати за веб-службою за допомогою інструментарію SOAP або скористатися Visual Studio. Потрібно дивуватися, що думає Microsoft.

Це набагато простіше зробити в електронній таблиці Google Документів, а потім експортувати в Excel:

Ви можете скористатися веб-службою XML GeoCoder.ca для пошуку поштового індексу за адресою. У Документах 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, використовуючи таку 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 поштових кодів за один раз.


Це не працювало для мене сьогодні вранці.
пришвартовано

1

У Канаді веб-сайт Canada Post дозволяє здійснювати пошук поштових індексів за адресою (і мені невідомо про щоденний ліміт), але це, на жаль, не допомагає вам інтегруватись у вашу електронну таблицю. Мені цікаво також бачити потенційні рішення для цього. Я завжди використовував ручний пошук поштових індексів для тих, кого я не знаю.


0

У Великобританії вам знадобиться доступ до файлу адрес поштового індексу (PAF), у якому перераховані всі адреси країни. Прямий доступ до ФАП коштує грошей, а не незначна сума. Ми платимо щось на зразок 200 фунтів стерлінгів на рік за необмежений доступ до оновлених даних PAF, але потім ми щомісяця набираємо 10 запитів.

Більшість інших територій схожі в цьому плані, тому я думаю, що ви не збираєтеся знайти законний спосіб доступу до поштових даних так, як ви хочете.

Навіть якби ви могли знайти сайт, який дозволив би RESTful запитам їх даних вставляти поштовий індекс безпосередньо у електронну таблицю, вони, без сумніву, застосовують суворі обмеження щодо кількості запитів, які можуть бути зроблені в будь-який встановлений період.


0

Є кілька онлайн-сервісів, які оброблять таблицю Excel (або файл з обмеженням CSV / табуляції) та додають відсутні коди. Ціна може коливатися від декількох доларів до 100 доларів + залежно від постачальника послуг, деякі з яких мають плату за налаштування, плату за обробку та плату за швидке замовлення.

Деякі постачальники послуг можуть повернути оброблений файл до вас протягом декількох хвилин, тоді як інші, які заявляють про "поспішну обробку", можуть зайняти 3+ робочих днів. Виходячи зі свого запитання, ви не хочете інвестувати кошти у придбання програмного забезпечення та витрачаєте тисячі доларів на програмне рішення на місці. Якщо це так, то найкращий вибір - інтернет-провайдер.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.