Sådan beregnes afstanden mellem to adresser i Excel (3 måder)

  • Del Dette
Hugh West

Artiklen vil vise dig, hvordan du beregner den afstand mellem to adresser i Excel. Microsoft Excel har denne smarte specielle funktion og formel til at finde afstanden mellem to steder i verden. Hvis du har GPS-koordinater af to steder, kan du nemt bestemme afstanden mellem disse steder i den enhed, du ønsker.

Download arbejdsbog til øvelser

Beregning af afstanden mellem to adresser.xlsm

3 måder at beregne afstanden mellem to adresser i Excel på

I vores datasæt har vi Breddegrad og Længdegrad til Ohio og Alaska Vi skal måle afstanden mellem dem.

Breddegrader til Ohio og Alaska er 40.4173 nord og 64.2008 Nord Desuden er det Længdegrader til Ohio og Alaska er 82.9071 vest og 149.4937 West henholdsvis.

1. Brug af Haversine-formlen til at beregne afstanden mellem to adresser

Hvis du er god til matematik, kan du bruge Haversine-formel vil være perfekt for dig. Selv om det giver dig et omtrentligt resultat, er det et ret godt resultat.

Først og fremmest skal vi kende den grundlæggende formel for buelængde Og ved hjælp af denne formel kan vi sammenligne den med afstanden mellem to steder på jorden. Formlen er angivet nedenfor.

S = rθ

S = afstand mellem to adresser

r = Jordens radius

θ = Vinkel indført i Jordens centrum af de to adresser

Men hvis du har GPS-koordinater af to steder, skal du bestemme fra den Haversine-formel . Se på den Haversine-formel vist nedenfor.

Hvis man sammenligner dette med den formel for buelængde , får du et billede som i det følgende billede.

Lad os præsentere dig for parametrene for Haversine-formel .

φ 1 = breddegrad for det første sted

φ 2 = breddegrad for det andet sted

1 = længden af det første sted

2 = breddegrad for det andet sted

Nu vil jeg vise dig, hvordan du anvender denne formel i Excel trin for trin.

Trin:

  • Lav først en celle til at gemme afstandsværdien, og skriv følgende formel i cellen C8 .

=2*6400*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

Formlen anvender ASIN , SQRT , SIN og COS funktioner Det er ret enkelt, hvis man blot ser på den Haversine-formel . Vi måler afstanden i kilometer , så vi sætter jordens radius i kilometer, som er 6400 km . ASIN henviser til den omvendt sinus eller eller ArcSine Hvis vi sammenligner parametervinklerne for de Haversine-formel med vores Excel-formel, får vi,

1 = Ohio's breddegrad (C5)

2 = breddegrad for Alaska (C6)

1 = Ohio's længdegrad (D5)

2 = breddegrad for Alaska (D6)

  • Derefter skal du trykke på INDTAST knappen for at se afstanden mellem Ohio og Alaska Kilometer .

  • Hvis du derefter ønsker at måle afstanden i miles , skal du bruge følgende formel i celle C8 .

=2*3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

Her har vi brugt den samme Excel-formel, som vi brugte til at finde afstanden i miles Derfor tager vi jordens radius i miles som er 3959 .

Du kan således beregne den afstand mellem to jordadresser i Excel ved at anvende den Haversine-formel .

Læs mere: Sådan beregnes afstanden mellem to koordinater i Excel (2 metoder)

2. Anvendelse af Excel-funktionerne CONCATENATE og SUBSTITUTE til at beregne afstanden mellem to adresser

Du kan oprette en Google Map link for at finde den afstand mellem to adresser ved hjælp af Excel CONCATENATE og UDSTEDELSE Funktioner Lad os gennemgå processen nedenfor.

Trin:

  • Indtast først følgende formel i C8 .

=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=", SUBSTITUTE(B5," ", "+"),"&daddr=",SUBSTITUTE(B6," ", "+"))

Denne formel vil skabe en Google Map link til, hvordan du kan rejse fra Ohio til Alaska . CONCATENATE funktionen vil tilføje den adresser i linket og den UDSTEDELSE funktionen vil placere navnet på den adresser .

  • Derefter skal du trykke på INDTAST knappen, og du vil se Google Map link i C8 .

  • Derefter skal du bruge denne link i din internetsøgningslinje, og du vil få den afstand oplysninger om disse to adresser .

Endelig kan du beregne den afstand mellem to adresser på jorden i Excel ved at anvende CONCATENATE og UDSTEDELSE funktioner.

Læs mere: Sådan beregnes afstanden mellem to byer i Excel

3. Brug af VBA til at beregne afstanden mellem to adresser i Excel

En anden måde at beregne afstand mellem to adresser kunne være ved at lave en API ( Programmeringsgrænseflade for applikationer ) og bruge det til at oprette et Brugerdefineret funktion af VBA Du kan lave en API link i Bing gratis. For at oprette en Bing-kort API-nøgle af din egen, klik her .

Trin:

  • Først skal du gå til Udvikler >> Visual Basic .

  • Derefter skal du vælge Indsæt >> Modul for at åbne den VBA-modul .

  • Senere skal du skrive følgende kode i VBA-modul . Vi skaber en Brugerdefineret funktion til beregning af afstand miles .
 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 = "&destinations="&travelMode=driving&o=xml&key=" & Target_Value & "&distanceUnit=mi" Set Setup_HTTP = CreateObject("MSXML2.ServerXMLHTTP") Output_Url = Initial_Point & First_Location & Ending_Point & Final_Location & 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 

Kode Forklaring

  • Først navngav vi vores Funktion som DistanceInMiles Vi har også indsat 3 parametre: First_Location As String, Final_Location As String og Target_Value As String .
  • Derefter erklærede vi Initial_Point , Ending_Point , Afstand_Enhed og Outout_Url som String ; Opsætning_HTTP som Objekt .
  • Senere sætter vi Initial_Point som starten på den Url-link , Ending_Point som Destination og Afstand_Enhed til Miles .
  • Derefter indstiller vi de nødvendige parametre for at skabe en relation mellem vores VBA kode og API
  • Endelig har vi etableret vores Brugerdefineret funktion .
  • Derefter lavede vi efter samme fremgangsmåde endnu en Brugerdefineret funktion for at finde afstanden i kilometer .

Du kan se, at vi blot har ændret Afstand_Enhed til kilometer .

  • Derefter kan du på det følgende billede se den API nøgle i celle C8 .

  • Derefter skal du skrive følgende formel i celle C8 .

=DistanceInMiles(E5,E6,C8)

  • Derefter skal du trykke på INDTAST knappen, og du vil se afstand mellem Ohio og Alaska miles .

  • Brug derefter følgende formel for at se den afstand kilometer .

=DistanceInKM(E5,E6,C8)

Du kan således beregne den afstand mellem to adresser ved hjælp af VBA og API nøgle.

Læs mere: Sådan beregnes kørselsafstand mellem to adresser i Excel

Ting at huske

  • Husk det, du skal sætte cirka korrekt GPS-koordinater af disse stater i dataene, fordi du bruger internettet til at finde afstanden. Da den stater er vest til den Meridian Line , begge deres Længdegrader vil være negativ.

Øvelsesafsnit

I dette afsnit giver jeg dig datasættet i denne artikel, så du selv kan øve dig på disse metoder.

Konklusion

Det er tilstrækkeligt at sige, at du vil lære meget effektive metoder til at beregne afstand mellem to adresser i Excel efter at have læst denne artikel. Hvis du har bedre metoder eller spørgsmål eller feedback vedrørende denne artikel, bedes du dele dem i kommentarfeltet. Dette vil hjælpe mig med at berige mine kommende artikler. For flere forespørgsler, besøg venligst vores hjemmeside ExcelWIKI.com .

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.