Spis treści
W artykule pokażemy, jak obliczyć m.in. odległość między dwoma adresami w Excelu. Microsoft Excel ma tę fajną specjalną funkcję i formułę dla znalezienie odległości między dwoma miejscami na świecie. Jeśli masz Współrzędne GPS z dwóch miejsc, możesz łatwo wyznaczyć odległość między tymi miejscami w dowolnej jednostce, którą chcesz.
Pobierz Zeszyt ćwiczeń
Obliczanie odległości między dwoma adresami.xlsm
3 Sposoby obliczania odległości między dwoma adresami w Excelu
W naszym zbiorze danych mamy Szerokość geograficzna oraz Długość geograficzna dla Ohio oraz Alaska Zmierzymy odległość między nimi.
Na stronie Szerokość geograficzna dla Ohio oraz Alaska są 40.4173 Północ oraz 64.2008 Północ odpowiednio. także Długości geograficzne dla Ohio oraz Alaska są 82.9071 Zach. oraz 149.4937 West odpowiednio.
1) Użycie wzoru Haversine'a do obliczenia odległości między dwoma adresami
Jeśli jesteś dobry w matematyce, używając Formuła Haversine będzie dla ciebie idealny, choć da ci przybliżony wynik, to jest on całkiem dobry.
Po pierwsze, musimy znać podstawowy wzór na długość łuku I korzystając z tego wzoru, porównujemy go z odległością między dwoma miejscami na ziemi. Wzór podany jest poniżej.
S = rθ
S = Odległość między dwoma adresami
r = promień Ziemi
θ = Kąt wprowadzony do środka Ziemi przez dwa adresy
Ale jeśli masz Współrzędne GPS z dwóch miejsc, trzeba ustalić z Formuła Haversine . Spójrz na Formuła Haversine pokazane poniżej.
Jeśli porównasz to z wzór na długość łuku , otrzymasz jak na poniższym obrazku.
Zapoznajmy się z parametrami Formuła Haversine .
φ 1 = Szerokość geograficzna pierwszego miejsca
φ 2 = Szerokość geograficzna drugiego miejsca
ℽ 1 = Długość geograficzna pierwszego miejsca
ℽ 2 = Szerokość geograficzna drugiego miejsca
Teraz pokażę Ci, jak krok po kroku zastosować tę formułę w Excelu.
Kroki:
- Najpierw utwórz komórkę do przechowywania wartości odległości i wpisz w niej następującą formułę C8 .
=2*6400*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))
Wzór wykorzystuje ASIN , SQRT , SIN oraz COS funkcje To całkiem proste, jeśli spojrzysz na Formuła Haversine . Mierzymy odległość w kilometry więc podajemy promień ziemi w kilometrach, który wynosi 6400 km . ASIN odnosi się do odwrotność sinusa lub ArcSine Jeśli porównamy kąty parametrów Formuła Haversine z naszą formułą w Excelu, otrzymujemy,
1 = Szerokość geograficzna Ohio (C5)
2 = Szerokość geograficzna Alaski (C6)
ℽ 1 = Długość geograficzna Ohio (D5)
ℽ 2 = Szerokość geograficzna Alaski (D6)
- Następnie należy nacisnąć przycisk ENTER aby zobaczyć odległość między Ohio oraz Alaska w Kilometry .
- Następnie, jeśli chcesz zmierzyć odległość w milach użyj następującej formuły w komórce C8 .
=2*3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))
Tutaj użyliśmy tej samej formuły Excela, której użyliśmy do znalezienia odległości w mile Z tego powodu przyjmujemy promień Ziemi w mile który jest 3959 .
W ten sposób można obliczyć odległość pomiędzy dwoma adresami ziemi w Excelu poprzez zastosowanie Formuła Haversine .
Read More: Jak obliczyć odległość między dwoma współrzędnymi w programie Excel (2 metody)
2) Zastosowanie funkcji CONCATENATE i SUBSTITUTE w Excelu do obliczania odległości między dwoma adresami
Można utworzyć Google Map link, aby znaleźć odległość pomiędzy dwoma adresami przy użyciu programu Excel CONCATENATE oraz SUBSTYTUT Funkcje Przejdźmy przez ten proces poniżej.
Kroki:
- Najpierw wpisz następującą formułę w C8 .
=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=",
SUBSTITUTE(B5," ", "+"),"&daddr=",SUBSTITUTE(B6," ", "+"))
Ta formuła stworzy Google Map link, jak można podróżować z Ohio do Alaska . CONCATENATE funkcja doda adresy w linku i SUBSTYTUT Funkcja umieści nazwę adresy .
- Następnie należy nacisnąć przycisk ENTER i pojawi się Google Map łącze w C8 .
- Po tym, użyj tego link w pasku wyszukiwania w Internecie, a otrzymasz odległość informacje o tych dwa adresy .
Na koniec można obliczyć odległość pomiędzy dwoma adresami ziemi w Excelu, stosując CONCATENATE oraz SUBSTYTUT funkcje.
Read More: Jak obliczyć odległość między dwoma miastami w Excelu
3. użycie VBA do obliczenia odległości między dwoma adresami w Excelu
Inny sposób obliczania odległość między dwoma adresami może być przez wykonanie API ( Interfejs programowania aplikacji ) i użycie go do stworzenia Funkcja zdefiniowana przez użytkownika przez VBA . You can make an API łącze w Bing za darmo. Aby stworzyć Bing Map Klucz API własnego autorstwa, kliknij tutaj .
Kroki:
- Po pierwsze, przejdź do Deweloper >> Visual Basic .
- Następnie należy wybrać Wkładka >> Moduł aby otworzyć Moduł VBA .
- Później wpisz następujący kod w Moduł VBA . We are creating an Funkcja zdefiniowana przez użytkownika obliczyć odległość w mile .
Option Explicit Public Function DistanceInMiles(First_Location As String, _ Final_Location As String, Target_Value As String) Dim Initial_Point As String, Ending_Point As String, _ Distance_Unit As String, Setup_HTTP As Object, Output_Url As String Initial_Point = "//dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins=" Ending_Point = "&destinations=" Distance_Unit =."&travelMode=driving&o=xml&key=" & Target_Value & "&distanceUnit=mi" Setup_HTTP = CreateObject("MSXML2.ServerXMLHTTP") Output_Url = Initial_Point & First_Location & Ending_Point & Final_Location & Distance_Unit Setup_HTTP.Open "GET", Output_Url, False Setup_HTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"Setup_HTTP.Send ("") DistanceInMiles = Round(Round(WorksheetFunction.FilterXML(Setup_HTTP.ResponseText, _ "//TravelDistance"), 3), 0) End Function
Kod Objaśnienie
- Po pierwsze, nazwaliśmy nasz Funkcja jako DistanceInMiles . We also inserted 3 parametry: Pierwsza_Lokalizacja jako String, Ostatnia_Lokalizacja jako String oraz Wartość docelowa jako String .
- Po tym oświadczyliśmy. Initial_Point , Ending_Point , Odległość_jednostki oraz Outout_Url jako String ; Setup_HTTP jako Obiekt .
- Później ustawiamy Initial_Point jako początek Link Url , Ending_Point jako Miejsce przeznaczenia oraz Odległość_jednostki do Miles .
- Następnie ustawiamy niezbędne parametry, aby stworzyć relację pomiędzy naszymi VBA kodeks i API
- W końcu ustaliliśmy nasze Funkcja zdefiniowana przez użytkownika .
- Następnie, stosując te same procedury, wykonaliśmy kolejny Funkcja zdefiniowana przez użytkownika aby znaleźć odległość w kilometry .
Możesz zobaczyć, że po prostu zmieniliśmy Odległość_jednostki do kilometry .
- Następnie, na poniższym obrazku, można zobaczyć API klucz w komórce C8 .
- Następnie w komórce wpisz następującą formułę C8 .
=DistanceInMiles(E5,E6,C8)
- Następnie należy nacisnąć przycisk ENTER i pojawi się odległość między Ohio oraz Alaska w mile .
- Następnie użyj następującego wzoru, aby zobaczyć odległość w kilometr .
=DistanceInKM(E5,E6,C8)
W ten sposób można obliczyć odległość pomiędzy dwoma adresami za pomocą VBA oraz API klucz.
Read More: Jak obliczyć odległość między dwoma adresami w programie Excel?
Rzeczy do zapamiętania
- Pamiętaj o tym, musisz umieścić w przybliżeniu prawidłowe Współrzędne GPS z tych państwa w danych, ponieważ używasz internetu, aby znaleźć odległość. państwa są zachód do Linia Meridian , obie ich Długości geograficzne będzie ujemny.
Część ćwiczeniowa
W tej części podam zestaw danych z tego artykułu, abyś mógł przećwiczyć te metody na własną rękę.
Wniosek
Wystarczy powiedzieć, że poznasz bardzo skuteczne metody obliczania odległość Jeśli masz jakieś lepsze metody, pytania lub opinie dotyczące tego artykułu, proszę podziel się nimi w polu komentarza. Pomoże mi to wzbogacić moje kolejne artykuły. Aby uzyskać więcej informacji, odwiedź naszą stronę internetową ExcelWIKI.com .