Bisakah Anda mengonversi alamat menjadi kode pos di spreadsheet?

12

Diberikan kolom alamat jalan dengan kota dan negara bagian tetapi tidak ada zip di spreadsheet, saya ingin meletakkan rumus di kolom kedua yang menghasilkan kode ZIP. Apakah Anda tahu cara melakukan ini?

Saya berurusan dengan alamat AS, tetapi jawaban yang berkaitan dengan negara lain juga menarik.

PEMBARUAN: Saya kira saya sebagian besar berharap bahwa ada cara untuk melakukan ini di Google Spreadsheets. Saya menyadari bahwa Anda perlu mengakses basis data kode ZIP yang luas untuk melakukan ini, tetapi bagi saya sepertinya basis data tersebut sudah ada di dalam Google Maps. Jika saya memasukkan alamat di sana tanpa kode ZIP, saya mendapatkan kembali alamat dengan kode ZIP. Jika Maps dapat melakukan pencarian itu, mungkin ada cara untuk mewujudkannya di Spreadsheets juga.

Isaac Moses
sumber
Terkait dengan jawaban @ ChrisF, di wilayah manakah Anda?
JMD
Saya tidak menyadari bahwa istilah "ZIP" diterapkan di luar AS. Lagi pula, saya sudah menentukan sekarang.
Isaac Moses
Fakta yang jarang diketahui, kode ZIP hanya diperlukan untuk membuat pengiriman email Anda lebih cepat. Penggunaan itu kurang berlaku hari ini daripada ketika mereka pertama kali diperkenalkan (pada 1968) karena USPS sekarang memindai alamat yang diketik dan mencari ZIP untuk Anda jika hilang. Jika Anda tidak menyediakan satu maka USPS akan menggunakan sistem mereka untuk menyediakannya (dan yang terbaik dari semuanya adalah tidak ada biaya tambahan dengan itu). Juga, kode ZIP khusus untuk AS. Sebagian besar tempat memilikinya tetapi disebut kode pos di tempat lain.
krowe

Jawaban:

8

Google spreadsheet memiliki serangkaian fungsi untuk data eksternal . Jika Anda dapat menemukan (atau membuat) situs yang melakukan pencarian dengan melewatkan parameter, Anda bisa meletakkan rumus yang mirip dengan ini di:

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

Ini adalah ide hipotetis. Gabungan, importData, dan fungsi lain untuk data eksternal ada di Google Spreadsheets. "zipfinder.com" tidak ada. Ada banyak situs yang akan membantu Anda menemukan kode pos dari suatu alamat. Bagian yang sulit adalah menemukan yang menerima data alamat di URL dan mengembalikan sesuatu yang cukup sederhana untuk digunakan Google Spreadsheets.

Doug Harris
sumber
4

Tidak akan ada apa pun yang dibangun ke dalam spreadsheet karena basis data alamat yang diverifikasi sangat mahal.

Anda mungkin menemukan layanan online yang akan melakukan ini untuk Anda. Misalnya di Inggris, situs web Royal Mail memungkinkan Anda mencari kode pos (setara dengan kode pos Inggris), tetapi Anda dibatasi hingga 15 pencarian sehari. Ini untuk penggunaan pribadi. Bisnis akan mendapatkan lebih banyak - tetapi Anda harus mendaftar dan membayar untuk itu.

Layanan serupa akan ada di negara lain.

ChrisF
sumber
4

Anda dapat menulis fungsi Skrip Aplikasi khusus dengan layanan Google Maps, menggunakan pendekatan yang mirip dengan jawaban ini . Untuk melakukan ini, buka Alat ... Editor skrip ... dan rekatkan fungsi ini di:

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

Anda kemudian dapat menyebutnya di sel spreadsheet, misalnya, ia mengembalikan 20500 dengan benar ke Gedung Putih:

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

Tidak seperti beberapa pendekatan lain, ini juga berfungsi untuk lokasi non-AS, misalnya dengan benar mengembalikan 75007 untuk Menara Eiffel:

=getZIP("Champ de Mars, 5 Avenue Anatole France, Paris, France")
Max Ghenis
sumber
1
Apakah Google API membatasi seberapa sering Anda dapat menggunakan geocoder? Jika demikian, ada baiknya disebutkan di sini.
Excellll
1
Halaman kuota tidak mencantumkan Peta secara khusus, jadi tebakan terbaik saya adalah 20k / hari (batas pengambilan URL): developers.google.com/apps-script/guides/services/…
Max Ghenis
3

Anda memang membutuhkan semacam alat atau layanan pencarian alamat eksternal. Hanya dengan City / State, seringkali tidak ada cara untuk menentukan kode pos yang benar karena banyak kota memiliki banyak kode pos dan banyak kota memiliki jalan yang menjangkau beberapa kode pos sehingga Anda bahkan tidak dapat menambahkan hanya jalan dan menggunakan kota / negara bagian / zip formula atau pencarian. Jika Anda perlu menemukan kode pos untuk alamat, Anda harus merinci dan membayar layanan atau alat. Tidak ada jalan keluar yang bagus untuk itu.

BBlake
sumber
Yap, saya melakukan ini untuk hidup - mengonversi data dari satu format ke format lainnya. Seperti disebutkan, beberapa kota dapat memiliki beberapa kode pos, dalam hal ini, gedung World Trade Center memiliki kode pos sendiri sehingga kota / negara bagian tidak cukup. USPS memiliki database super masif yang dapat melakukan ini, tetapi memerlukan alamat jalan juga dan relatif mahal.
Blackbeagle
Bisakah Anda tidak menggunakan data sensus AS dari tahun 2000? Saya percaya bahwa ini gratis untuk digunakan.
Chris
1
Saya tidak terbiasa dengan hal itu, tetapi meskipun demikian Anda berbicara tentang jumlah data yang besar dan itu bukanlah sesuatu yang dapat Anda lakukan dengan mudah dalam lembar kerja Excel.
BBlake
3

Sulit dilakukan di Excel. Anda perlu memanggil Layanan Web menggunakan SOAP toolkit, atau menggunakan Visual Studio. Orang pasti bertanya-tanya apa yang dipikirkan Microsoft.

Jauh lebih mudah dilakukan di Spreadsheet Google Documents, lalu ekspor ke Excel:

Anda dapat menggunakan layanan web GeoCoder.ca XML untuk mencari kode pos berdasarkan alamat. Di Google Documents, Anda akan menggunakan fungsi ini:

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

(di mana A2 adalah alamat jalan.)

Anda juga bisa mendapatkan garis lintang dan bujur dengan cara ini:

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

Perhatikan bahwa GeoCoder memiliki throttle berdasarkan permintaan per hari untuk layanan gratis mereka.

Neil McGuigan
sumber
3

Ya - Sekarang Anda dapat menemukan Kode Pos di lembar Google Documents menggunakan URL berikut:

Langkah 1: Di halaman arahan ini , masukkan alamat yang ingin Anda cari.

Langkah 2: Saya mencari alamat "1245 5TH ST" di Washington, DC dan URLnya tampak seperti ini:

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

Langkah 3: Salin dan tempel rumus berikut dan ganti 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)

Ingat bahwa URL pada Langkah 3 harus cocok dengan yang dari Langkah 2. Sel akan dinamis berdasarkan pada Nilai Sel target Anda.

Fungsi pada Langkah 3 mengekstrak 11 karakter setelah nilai STATE. Oleh karena itu, Anda harus mengubah fungsi MID agar Anda mendapatkan nilai yang benar. Ini bekerja dengan baik untuk saya.

Satu hal terakhir: Google hanya mengizinkan 50 fungsi Impor per lembar. Jadi, dengan metode di atas Anda dapat menemukan hanya 25 Kode Zip sekaligus.

Sushil Jhamnani
sumber
Ini tidak berhasil untuk saya pagi ini.
tertambat
1

Di Kanada, situs web Canada Post memungkinkan pencarian kode pos berdasarkan alamat (dan saya tidak mengetahui adanya batasan harian) tetapi itu tidak membantu Anda dengan integrasi dalam spreadsheet Anda, sayangnya. Saya tertarik melihat solusi potensial untuk ini juga. Saya selalu menggunakan pencarian kode pos manual untuk yang saya tidak tahu.

JMD
sumber
0

Di Inggris, Anda memerlukan akses ke file alamat kode pos (PAF) yang mencantumkan semua alamat di negara tersebut. Akses langsung ke PAF membutuhkan uang, dan bukan jumlah yang tidak signifikan. Kami membayar sekitar £ 200 per kursi, per tahun untuk akses tak terbatas ke data PAF yang diperbarui, tetapi kemudian kami mengajukan permintaan sebesar 10r setiap bulan.

Sebagian besar wilayah lain memiliki kesamaan dalam hal ini, jadi saya bayangkan Anda tidak akan menemukan cara yang sah untuk mengakses data zip dengan cara yang Anda inginkan.

Bahkan jika Anda dapat menemukan situs yang memungkinkan RESTful querying data mereka untuk memasukkan zip secara langsung ke dalam spreadsheet, mereka tidak diragukan lagi akan menerapkan batasan ketat pada jumlah permintaan yang dapat dibuat dalam periode waktu tertentu.

Lunatik
sumber
0

Ada beberapa layanan online yang akan memproses lembar bentang Excel (atau file yang dibatasi CSV) dan menambahkan Kode ZIP yang hilang. Harganya dapat berkisar dari beberapa dolar hingga $ 100 + tergantung pada penyedia layanan, beberapa di antaranya memiliki biaya pengaturan, biaya pemrosesan, dan biaya pesanan terburu-buru.

Beberapa penyedia layanan bisa mendapatkan file yang diproses kembali kepada Anda dalam beberapa menit sementara yang lain yang mengklaim "pemrosesan cepat" dapat memakan waktu 3+ hari kerja. Berdasarkan pertanyaan Anda, Anda tidak ingin berinvestasi dalam pembelian perangkat lunak dan merogoh ribuan dolar untuk solusi perangkat lunak di tempat. Jika itu masalahnya, penyedia online adalah taruhan terbaik Anda.

Untuk kepentingan pengungkapan penuh, saya adalah pendiri SmartyStreets. Kami menawarkan verifikasi alamat online yang sepenuhnya otomatis . Anda dapat menarik dan melepaskan file Excel di situs web kami dan kami akan memprosesnya dan kembali kepada Anda dalam waktu sekitar satu atau dua menit tergantung ukurannya.

Jonathan Oliver
sumber