Excel có một loạt các ứng dụng. Và trong khi sử dụng VBA thì có vẻ như chúng ta có thể làm bất cứ điều gì chúng ta muốn trong Excel. Vì vậy, tất nhiên, chúng tôi có thể tìm khoảng cách giữa các địa điểm sử dụng bản đồ trong Excel. Trong bài viết này, tôi sẽ đưa ra một hướng dẫn nhanh chóng để tính khoảng cách trong excel với Google Maps với các bước sắc nét và hình ảnh minh họa rõ ràng.
Bạn có thể tải xuống sổ làm việc Excel miễn phí từ đây và tự thực hành.
Sử dụng hàm do người dùng xác định để tính khoảng cách trong Excel với Google Maps
Tại đây, chúng tôi sẽ tìm khoảng cách giữa Công viên MacArthur và Thành phố Jersey bằng Google Maps.
Đầu tiên, chúng ta cần biết một điều quan trọng. Để tính toán khoảng cách trong Excel bằng Google Maps, chúng tôi sẽ cần một API Chìa khóa. API viết tắt của Giao diện lập trình ứng dụng . Excel kết nối với Google Maps bằng khóa API để thu thập dữ liệu cần thiết. Một số bản đồ cung cấp các khóa API miễn phí như Bing Maps. Nhưng Google Maps không cung cấp API miễn phí. Mặc dù bạn quản lý một API miễn phí bằng cách nào đó sẽ không hoạt động hoàn hảo. Vì vậy, bạn sẽ phải mua API từ liên kết này.
Tại đây, tôi đã quản lý một API miễn phí Chìa khóa. Nó không hoạt động bình thường, chỉ được sử dụng để hiển thị làm ví dụ. Chúng tôi sẽ sử dụng VBA để tạo chức năng do người dùng xác định được đặt tên là Khoảng cách tính toán để tìm khoảng cách . Nó sẽ có ba đối số- Nơi bắt đầu , Điểm đến và khóa API . Bây giờ chúng ta hãy bắt đầu các thủ tục.
Các bước:
- Nhấn ALT + F11 để mở cửa sổ VBA .
- Tiếp theo, hãy nhấp vào như sau: Chèn> Mô-đun để tạo một mô-đun mới.
- Sau đó, nhập các mã sau vào cửa sổ-
Public Function Calculate_Distance(start As String, dest As String)
Dim first_Value As String, second_Value As String, last_Value As String
first_Value = "https://maps.googleapis.com/maps/api/distancematrix/json?origins="
second_Value = "&destinations="
last_Value = "&mode=car&language=pl&sensor=false&key=YOUR_KEY"
Set mitHTTP = CreateObject("MSXML2.ServerXMLHTTP")
Url = first_Value & Replace(start, " ", "+") & second_Value & Replace(dest, " ", "+") & last_Value
mitHTTP.Open "GET", Url, False
mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
mitHTTP.Send ("")
If InStr(mitHTTP.ResponseText, """distance"" : {") = 0 Then GoTo ErrorHandl
Set mit_reg = CreateObject("VBScript.RegExp"): mit_reg.Pattern = """value"".*?([0-9]+)": mit_reg.Global = False
Set mit_matches = mit_reg.Execute(mitHTTP.ResponseText)
tmp_Value = Replace(mit_matches(0).Submit_matches(0), ".", Application.International(xlListSeparator))
Calculate_Distance = CDbl(tmp_Value)
Exit Function
ErrorHandl:
Calculate_Distance = -1
End Function
- Sau đó, không có gì, chỉ cần quay lại trang tính của bạn.
Phân tích mã:
- Đầu tiên, tôi đã sử dụng quy trình Hàm Công cộng Tính_Distance .
- Sau đó, khai báo một số biến first_Value, second_Value và last_Value cho các đối số của hàm do người dùng xác định.
- Đặt giá trị cho các biến (mỗi giá trị là tự mô tả) và đặt mitHTTP đối tượng trong ServerXMLHTTP để sử dụng GET (được sử dụng sau này, thuộc tính đối tượng này sẽ cho phép sử dụng POST cả phương pháp).
- Url là sự kết hợp của tất cả các giá trị được đặt trước đó, thuộc tính mở của mitHTTP đối tượng đã sử dụng nó.
- Sau khi gán giá trị, hàm thư viện thực hiện phần còn lại của phép tính.
Bây giờ bạn thấy, chức năng của chúng tôi đã sẵn sàng để sử dụng.
- Trong Ô C8 , nhập công thức sau-
=Calculate_Distance(C4,C5,C6)
- Cuối cùng, chỉ cần nhấn ENTER để lấy khoảng cách. Nó sẽ hiển thị khoảng cách theo đơn vị Mét .
Đọc thêm: Cách tính khoảng cách lái xe giữa hai địa chỉ trong Excel
Ưu và nhược điểm khi tính khoảng cách với Google Maps
- Bạn phải có khóa API hợp lệ .
- Đoạn mã trên sẽ cung cấp đầu ra trong Đơn vị mét .
- Hàm do người dùng xác định sử dụng trực tiếp tên địa điểm, không cần sử dụng tọa độ.
- Đảm bảo rằng bạn đã sử dụng một địa điểm hợp lệ.
Ưu điểm và Nhược điểm của Tính toán Khoảng cách với Google Maps
Ưu điểm
- Đối với một số địa điểm, điều này khá khả thi vì chúng tôi có thể sử dụng Xử lý lấp đầy công cụ để sao chép công thức. Điều đó không thể thực hiện được trong Google Maps
- Đó là một cách khá nhanh hơn.
- Không cần sử dụng tọa độ.
Nhược điểm
- Nó không thể hoạt động với các tọa độ.
- Bạn sẽ không nhận được bản đồ hoặc tuyến đường, chỉ bạn sẽ biết được khoảng cách.
- Nó sẽ không hoạt động với sự trùng khớp gần đúng của các tên địa điểm.
Kết luận
Tôi hy vọng các quy trình được mô tả ở trên sẽ đủ tốt để tính khoảng cách trong Excel với Google Maps. Vui lòng đặt bất kỳ câu hỏi nào trong phần bình luận và vui lòng phản hồi cho tôi. Truy cập ExcelDemy để khám phá thêm.
Các bài viết liên quan
- Cách Tính Khoảng cách giữa Hai Tọa độ GPS trong Excel
- Tính toán Tọa độ từ Vòng bi và Khoảng cách trong Excel
- Cách Tính Khoảng cách Mahalanobis trong Excel (Từng bước)
- Tính Dặm giữa hai địa chỉ trong Excel (2 phương pháp)
- Cách Tính Khoảng cách Manhattan trong Excel (2 Cách Thích hợp)
- Tính Khoảng cách Levenshtein trong Excel (4 Phương pháp Dễ dàng)