Spis treści
Excel ma szeroki zakres zastosowań, a podczas korzystania z VBA to wydaje się, że w Excelu możemy zrobić co tylko chcemy.Więc oczywiście możemy znaleźć odległość między miejscami za pomocą mapy w Excelu. W tym artykule pokażę szybki przewodnik do obliczania odległości w Excelu za pomocą Map Google z ostrymi krokami i wyraźnymi ilustracjami.
Pobierz Zeszyt ćwiczeń
Możesz pobrać stąd darmowy skoroszyt Excela i poćwiczyć samodzielnie.
Calculate-Distance-with-Google-Maps.xlsmUżywanie funkcji zdefiniowanej przez użytkownika do obliczania odległości w programie Excel z mapami Google
Tutaj, będziemy znaleźć odległość między MacArthur Park a Jersey City za pomocą Google Maps.
Najpierw musimy wiedzieć pewną ważną rzecz. Aby obliczyć odległość w Excelu przy użyciu Google Maps, będziemy potrzebowali m.in. API klucz. API oznacza Interfejs programowania aplikacji . Excel łączy się z Google Maps za pomocą klucza API w celu zebrania wymaganych danych. Niektóre mapy udostępniają darmowe klucze API, jak np. Bing Maps, ale Google Maps nie udostępnia darmowego API. Mimo, że zarządzasz darmowym API w jakiś sposób nie będzie to działać idealnie. Tak więc, będziesz musiał kupić API klucz z tego linku.
Tutaj, zarządzałem wolnym API Klucz. Nie działa poprawnie, tylko użyty do pokazania jako przykład. Użyjemy VBA utworzyć funkcja zdefiniowana przez użytkownika o nazwie Calculate_Distance do znaleźć odległość Będzie miał trzy argumenty. Miejsce startu , Miejsce przeznaczenia oraz Klucz API A teraz zacznijmy procedury.
Kroki:
- Naciśnij ALT + F11 aby otworzyć Okno VBA .
- Następnie należy kliknąć w następujący sposób: Insert> Moduł aby stworzyć nowy moduł.
- Później wpisz w okienku następujące kody-.
Public Function Calculate_Distance(start As String, dest As String, Alink As String) As Double Dim first_Value As String, second_Value As String, last_Value As String Dim mitHTTP As Object first_Value = "//maps.googleapis.com/maps/api/distancematrix/json?origins=" second_Value = "&destinations=" last_Value = "&mode=car&language=pl&sensor=false&key=" & Alink 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 = """wartość"".*?([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
- Potem nic, tylko wracać do swojego arkusza.
Podział kodu:
- Najpierw użyłem procedury Public Function Calculate_Distance .
- Następnie zadeklarowano kilka zmiennych first_Value, second_Value, and last_Value dla argumentów naszej funkcji zdefiniowanej przez użytkownika.
- Ustawiamy wartości dla zmiennych (każda wartość jest samoopisowa), oraz ustawiamy mitHTTP obiekt w SerwerXMLHTTP aby wykorzystać GET (zastosowana później, ta właściwość obiektu pozwoli na użycie metody POST również metoda).
- Url jest kombinacją wszystkich ustawionych wcześniej wartości, właściwości open mitHTTP obiekt używał go.
- Po przypisaniu wartości funkcja biblioteczna wykonuje resztę obliczeń.
Teraz widzisz, że nasza funkcja jest gotowa do użycia.
- W Komórka C8 , wpisz następujący wzór-.
=Oblicz_odległość(C4,C5,C6)
- Na koniec wystarczy nacisnąć przycisk ENTER Aby uzyskać odległość, kliknij na przycisk. Jednostka miary .
Read More: Jak obliczyć odległość między dwoma adresami w programie Excel?
Zalety i wady obliczania odległości za pomocą Google Maps
- Musisz mieć ważny Klucz API .
- Powyższy kod da dane wyjściowe w Jednostka miary .
- Funkcja zdefiniowana przez użytkownika używa bezpośrednio nazw miejsc, nie trzeba używać współrzędnych.
- Upewnij się, że użyłeś ważnego miejsca.
Zalety i wady obliczania odległości za pomocą Google Maps
Zalety
- Dla dużej pary miejsc jest to całkiem wykonalne, ponieważ możemy użyć Uchwyt do napełniania Nie jest to możliwe w przypadku narzędzia do kopiowania formuły. Mapy Google
- Jest to dość szybszy sposób.
- Nie trzeba używać współrzędnych.
Wady
- Nie może pracować ze współrzędnymi.
- Nie dostaniesz mapy ani trasy, tylko dostaniesz odległość.
- Nie będzie działać z przybliżonym dopasowaniem nazw miejscowości.
Wniosek
Mam nadzieję, że opisane powyżej procedury będą wystarczająco dobre, aby obliczyć odległość w Excelu za pomocą Google Maps. Zapraszam do zadawania wszelkich pytań w sekcji komentarzy i proszę o informację zwrotną.Wizyta ExcelWIKI aby dowiedzieć się więcej.