Bạn có thể chuyển đổi một địa chỉ thành mã zip trong bảng tính không?


12

Đưa ra một cột các địa chỉ đường phố có thành phố và tiểu bang nhưng không có mã zip trong bảng tính, tôi muốn đặt một công thức trong cột thứ hai mang lại mã ZIP. Bạn có biết một cách để làm điều này?

Tôi đang giao dịch với các địa chỉ của Hoa Kỳ, nhưng câu trả lời liên quan đến các quốc gia khác cũng rất thú vị.

CẬP NHẬT: Tôi đoán tôi chủ yếu hy vọng rằng có một cách để làm điều này trong Bảng tính Google. Tôi nhận ra rằng bạn cần truy cập vào cơ sở dữ liệu mã ZIP rộng lớn để thực hiện việc này, nhưng dường như với tôi rằng cơ sở dữ liệu như vậy đã có trong Google Maps. Nếu tôi đặt một địa chỉ trong đó mà không có mã ZIP, tôi sẽ nhận lại một địa chỉ có mã ZIP. Nếu Bản đồ có thể thực hiện việc tra cứu đó, có thể cũng có cách để thực hiện điều đó trong Bảng tính.


Liên quan đến câu trả lời của @ ChrisF, bạn đang ở khu vực nào?
JMD

Tôi đã không nhận ra rằng thuật ngữ "ZIP" được áp dụng bên ngoài Hoa Kỳ. Dù sao, tôi đã chỉ định bây giờ.
Isaac Moses

Thực tế ít ai biết, mã ZIP chỉ cần thiết để giúp việc gửi thư của bạn nhanh hơn. Việc sử dụng đó ngày nay ít được áp dụng hơn so với khi chúng được giới thiệu lần đầu tiên (vào năm 1968) vì USPS hiện quét các địa chỉ đã nhập và tra cứu ZIP cho bạn nếu nó bị thiếu. Nếu bạn không cung cấp một cái thì USPS sẽ sử dụng hệ thống của họ để cung cấp nó (và tốt nhất là họ sẽ không phải trả thêm chi phí nào). Ngoài ra, mã ZIP là đặc trưng của Hoa Kỳ. Hầu hết các nơi có chúng nhưng chúng được gọi là mã bưu chính ở mọi nơi khác.
krowe

Câu trả lời:


8

Bảng tính Google có một loạt các chức năng cho dữ liệu ngoài . Nếu bạn có thể tìm (hoặc tạo) một trang web tìm kiếm bằng cách truyền tham số, bạn có thể đặt một công thức tương tự như sau:

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

Đây là một ý tưởng giả định. Kết hợp, importData và các chức năng khác cho dữ liệu ngoài tồn tại trong Bảng tính Google. "zipfinder.com" không tồn tại. Có rất nhiều trang web sẽ giúp bạn tìm mã zip từ một địa chỉ. Phần khó khăn là tìm một thứ chấp nhận dữ liệu địa chỉ trong URL và trả về một cái gì đó đủ đơn giản để Bảng tính Google sử dụng.


4

Sẽ không có bất cứ điều gì được xây dựng trong một bảng tính vì cơ sở dữ liệu địa chỉ được xác minh là rất tốn kém.

Bạn có thể tìm thấy một dịch vụ trực tuyến sẽ làm điều này cho bạn. Ví dụ: ở Vương quốc Anh, trang web Royal Mail cho phép bạn tra cứu mã bưu điện (Vương quốc Anh tương đương với mã zip), nhưng bạn bị giới hạn ở 15 tìm kiếm mỗi ngày. Đây là để sử dụng cá nhân. Các doanh nghiệp sẽ nhận được nhiều hơn - nhưng bạn phải đăng ký và trả tiền cho điều đó.

Các dịch vụ tương tự sẽ tồn tại ở các quốc gia khác.


4

Bạn có thể viết chức năng Tập lệnh ứng dụng tùy chỉnh với dịch vụ Google Maps, sử dụng cách tiếp cận tương tự với câu trả lời này . Để thực hiện việc này, hãy mở Công cụ ... Trình chỉnh sửa tập lệnh ... và dán chức năng này vào:

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

Sau đó, bạn có thể gọi nó trong một ô bảng tính, ví dụ, nó trả về đúng 20500 cho Nhà Trắng:

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

Không giống như một số phương pháp khác, nó cũng hoạt động cho các địa điểm không thuộc Hoa Kỳ, ví dụ: nó trả lại đúng 75007 cho Tháp Eiffel:

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

1
Google API có giới hạn tần suất bạn có thể sử dụng trình mã hóa địa lý không? Nếu vậy, nó đáng được đề cập ở đây.
Xuất sắc

1
Trang hạn ngạch không liệt kê cụ thể Bản đồ, do đó, dự đoán tốt nhất của tôi sẽ là 20k / ngày (giới hạn tìm nạp URL): developers.google.com/apps-script/guides/service/
trộm

3

Bạn cần một số loại công cụ hoặc dịch vụ tra cứu địa chỉ bên ngoài. Chỉ với Thành phố / Bang, thường không có cách nào để xác định mã zip chính xác vì nhiều thành phố có nhiều mã zip và nhiều thành phố có các đường trải dài nhiều mã zip để bạn thậm chí không thể thêm đường phố và sử dụng thành phố / bang / công thức zip hoặc tra cứu. Nếu bạn cần tìm mã zip cho các địa chỉ, bạn sẽ phải chia nhỏ và trả tiền cho một dịch vụ hoặc công cụ. Không có cách nào tốt xung quanh đó.


Đúng, tôi làm việc này để kiếm sống - chuyển đổi dữ liệu từ định dạng này sang định dạng khác. Như đã đề cập, một số thành phố có thể có một số mã zip, vì vấn đề đó, các tòa nhà của Trung tâm Thương mại Thế giới có mã zip riêng nên thành phố / tiểu bang không đủ. USPS có một cơ sở dữ liệu siêu lớn có thể làm điều này, nhưng nó cũng yêu cầu địa chỉ đường phố và tương đối đắt tiền.
Blackbeagle

Bạn có thể không sử dụng dữ liệu điều tra dân số Hoa Kỳ từ năm 2000? Tôi tin rằng nó miễn phí để sử dụng.
Chris

1
Tôi không quen thuộc với nó, nhưng ngay cả khi bạn đang nói về một lượng lớn dữ liệu và đó không phải là điều bạn sẽ có thể dễ dàng thực hiện trong bảng tính Excel.
BBlake

3

Thật khó để làm trong Excel. Bạn sẽ cần gọi Dịch vụ web bằng bộ công cụ SOAP hoặc sử dụng Visual Studio. Người ta phải tự hỏi Microsoft đang nghĩ gì.

Việc thực hiện trong Bảng tính Google Docs dễ dàng hơn nhiều, sau đó xuất sang Excel:

Bạn có thể sử dụng dịch vụ web XML của GeoCoder.ca để tra cứu mã zip theo địa chỉ. Trong Google Docs, bạn sẽ sử dụng chức năng này:

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

(trong đó A2 là địa chỉ đường phố.)

Bạn cũng có thể lấy vĩ độ và kinh độ theo cách này:

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

Lưu ý rằng GeoCoder có một yêu cầu mỗi ngày cho dịch vụ miễn phí của họ.


3

Có - Bây giờ bạn có thể tìm thấy Mã Zip trong trang Google Docs của mình bằng URL sau:

Bước 1: Trong trang đích này , nhập địa chỉ mà bạn muốn tìm kiếm.

Bước 2: Tôi đã tìm kiếm địa chỉ "1245 5TH ST" ở Washington, DC và URL trông như thế này:

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

Bước 3: Sao chép và dán công thức sau đây và thay thế 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)

Hãy nhớ rằng URL ở Bước 3 phải khớp với URL từ Bước 2. Ô sẽ được động dựa trên Giá trị ô đích của bạn.

Hàm trong Bước 3 trích xuất 11 ký tự sau giá trị STATE. Do đó, bạn sẽ phải điều chỉnh hàm MID để có được các giá trị chính xác. Điều này làm việc hoàn hảo cho tôi.

Một điều cuối cùng: Google chỉ cho phép 50 chức năng Nhập trên mỗi tờ. Vì vậy, với phương pháp trên, bạn chỉ có thể tìm thấy 25 Mã Zip trong một lần.


Điều này đã không làm việc cho tôi sáng nay.
neo đậu

1

Ở Canada, trang web Canada Post cho phép tìm kiếm mã bưu chính theo địa chỉ (và tôi không biết về bất kỳ giới hạn hàng ngày nào) nhưng điều đó không giúp bạn tích hợp trong bảng tính của bạn, thật không may. Tôi cũng muốn thấy các giải pháp tiềm năng cho việc này. Tôi đã luôn sử dụng tra cứu mã bưu chính thủ công cho những cái tôi không biết.


0

Tại Vương quốc Anh, bạn sẽ cần truy cập vào tệp địa chỉ mã bưu điện (PAF) liệt kê tất cả các địa chỉ trong nước. Truy cập trực tiếp vào PAF cũng tốn tiền và cũng không phải là số tiền không đáng kể. Chúng tôi trả khoảng 200 bảng mỗi ghế, mỗi năm để truy cập không giới hạn vào dữ liệu PAF được cập nhật, nhưng sau đó chúng tôi sẽ đưa ra 10 nghìn yêu cầu mỗi tháng.

Hầu hết các lãnh thổ khác đều tương tự về vấn đề này, vì vậy tôi tưởng tượng bạn sẽ không tìm thấy một cách hợp pháp để truy cập dữ liệu zip theo cách bạn muốn.

Ngay cả khi bạn có thể tìm thấy một trang web cho phép RESTful truy vấn dữ liệu của họ để chèn một zip trực tiếp vào bảng tính, họ chắc chắn sẽ thực hiện các giới hạn nghiêm ngặt về số lượng truy vấn có thể được thực hiện trong bất kỳ khoảng thời gian đã đặt nào.


0

Có một vài dịch vụ trực tuyến sẽ xử lý bảng tính Excel (hoặc tệp được phân tách bằng CSV / tab) và nối thêm Mã ZIP bị thiếu. Giá có thể dao động từ vài đô la đến 100 đô la + tùy thuộc vào nhà cung cấp dịch vụ, một số trong đó có phí thiết lập, phí xử lý và phí đặt hàng gấp.

Một số nhà cung cấp dịch vụ có thể lấy lại tệp đã xử lý cho bạn trong vòng vài phút trong khi những người khác tuyên bố "xử lý vội vàng" có thể mất hơn 3 ngày làm việc. Dựa trên câu hỏi của bạn, bạn không muốn đầu tư mua phần mềm và giảm hàng ngàn đô la cho một giải pháp phần mềm tại chỗ. Nếu đó là trường hợp, một nhà cung cấp trực tuyến là đặt cược tốt nhất của bạn.

Với lợi ích được tiết lộ đầy đủ, tôi là người sáng lập SmartyStreets. Chúng tôi cung cấp hoàn toàn tự động, xác minh địa chỉ trực tuyến . Bạn có thể kéo và thả tệp Excel của mình trên trang web của chúng tôi và chúng tôi sẽ xử lý và gửi lại cho bạn trong vòng khoảng một hoặc hai phút tùy thuộc vào kích thước.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.