Sådan beregnes afstanden mellem to byer i Excel

  • Del Dette
Hugh West

Der er flere anvendelsesmuligheder for Excel . Den fede specielle funktion og formel i Microsoft Excel kan bestemme afstanden mellem to specifikke byer eller steder på planeten. Det er afgørende at kunne beregne afstanden Det giver dig mulighed for at beregne den faktiske afstand og giver dig et rimeligt overslag over, hvor lang tid din rejse vil tage. Men med Excel kan vi nemt gøre det. I denne artikel vil vi demonstrere flere måder at beregne afstanden mellem to byer i Excel på.

Download arbejdsbog til øvelser

Du kan downloade arbejdsbogen og øve dig med dem.

Beregn afstanden mellem to byer.xlsm

Introduktion til datasættet

For at beregne afstanden mellem to byer skal vi først forberede datasættet. Lad os antage, at vi har to byer Los Angeles som er en storby i staten Californien , og Pasco som er byen i Washington Nu skal vi finde afstanden mellem dem, og til dette formål skal vi kende breddegrad og længdegrad Vi kan ganske enkelt finde en hvilken som helst bys længde- og breddegrad med Excel. Lad os se, hvordan vi kan gøre det.

TRIN:

  • Først skal du vælge den celle, hvor vi sætter byernes navne ind. I vores tilfælde vælger vi cellerne B5 , og B6 .
  • For det andet skal du gå til Data fanen fra farvebåndet.
  • For det tredje, i den Datatyper kategori klik på Geografi .

  • Hvis du vil finde breddegraden, skal du vælge den celle, hvor du har angivet breddegraden, og skrive formlen der.
=B5.Breddegrad

  • Tryk på Gå ind på for at se resultatet.

  • På samme måde finder vi bredden for celle B6 .
  • For at finde længdegraden og breddegraden skal du nu vælge en celle og indsætte følgende formel i den pågældende celle.
=B5.Longitude

  • Tryk på Indtast på dit tastatur.

  • På samme måde får vi den B6 's længdegrad ved at følge de tidligere trin.
  • Det var det, nu har vi begge byers længde- og breddegrad, så vores datasæt er nu klar til brug.

5 forskellige metoder til at beregne afstanden mellem to byer i Excel

Ved at finde afstanden mellem to steder kan vi så bestemme afstanden mellem to boliger. Ved hjælp af disse oplysninger kan vi anslå, hvor lang tid det vil tage os at rejse mellem boligerne. For at finde afstanden mellem to byer bruger vi ovenstående datasæt, som vi lige har lavet.

1. Anvend Haversine-formlen til at beregne afstanden mellem to byer

En af de grundlæggende ligninger for udforskning af havene er den Haversine-formel , som kan bruges til at beregne afstanden mellem to steder på et sfærisk plan, hvis man bestemmer deres bredde- og længdegrad og også halvkuglens radius. GPS Lad os følge trinene for at bruge formlen til at beregne afstanden mellem to byer.

TRIN:

  • Til at begynde med skal du vælge den celle, hvor du ønsker at få afstanden, så vi vælger celle C8 .
  • Derefter skal du sætte den Haversine-formel i den valgte celle.
=3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

  • Endelig skal du trykke på Indtast for at se resultatet.

  • Så ved at bruge formlen får vi resultatet 1367.581282 .

Læs mere: Sådan beregner du køreafstand mellem to adresser i Excel

2. Beregn afstanden mellem to byer med Excel-funktionerne ACOS, SIN, COS og RADIANS

Den inverse cosinus af en værdi er hvad ACOS-funktionen returnerer. Sinus af en vinkel i radianer returneres ved hjælp af Excel SIN-funktionen cosinus af en vinkel i radianer returneres ved hjælp af COS-funktionen . radianer ændres til grader ved hjælp af Excel RADIANS-funktionen Vi kan kombinere disse funktioner for at få afstanden mellem to byer. Det er også blevet stort set automatiseret ved hjælp af GPS Lad os anvende kombinationen af disse funktioner til at beregne afstanden mellem to byer ved at gennemgå trinene.

TRIN:

  • Først skal du vælge den celle, hvor du ønsker at opgøre afstanden; i dette tilfælde vælger vi celle C8 .
  • Derefter indsættes kombinationen af funktionens formel i den valgte celle.
=ACOS(COS(RADIANER(90-C5)) *COS(RADIANER(90-C6)) +SIN(RADIANER(90-C5)) *SIN(RADIANER(90-C6)) *COS(RADIANER(D5-D6))) *6371

  • Hvis du vil se resultatet, skal du trykke på Indtast i slutningen.

  • Ved at anvende formlen får vi således tallet 1357.033633 .

Læs mere: Sådan beregnes afstanden mellem to GPS-koordinater i Excel

3. Kombiner Excel CONCATENATE- og SUBSTITUTE-funktionerne for at få afstanden mellem to byer

Hvis du vil kombinere to eller flere sekvenser af ord til en sætning, skal du bruge tekstfunktionen CONCATENATE . ca. tredive tekststykker kan sammenføjes ved hjælp af Excel CONCATENATE funktion, som returnerer resultatet som en tekst. Funktionen SUBSTITUTE i excel bruger sammenligning til at ændre teksten i en specificeret streng. Vi kan kombinere disse to funktioner for at skabe en Google Map link for at finde den afstand mellem to adresser Lad os bruge formlen til at beregne afstanden mellem to byer ved at gennemgå trinene.

TRIN:

  • På samme måde skal du i den foregående metode vælge den celle, hvor du ønsker at få den Google Map ; i dette tilfælde vælger vi celle C8 .
  • Indtast derefter formlen i den valgte celle.

=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=",

SUBSTITUTE(B5," ", "+"),"&daddr=",SUBSTITUTE(B6," ", "+"))

  • For at få vist resultaterne skal du trykke på Indtast nøgle.

Ved hjælp af denne formel kan du linke til en Google Map der viser ruten fra Los Angeles til Pasco Byerne vil blive tilføjet til linket ved hjælp af CONCATENATE funktionen, og navnene på byerne vil blive tilføjet ved hjælp af funktionen UDSTEDELSE funktion.

  • Indtast derefter dette link i din browsers søgefelt for at finde ud af, hvor langt de to byer er fra hinanden.

CONCATENATE og UDSTEDELSE funktioner kan også bruges i Excel til at bestemme afstanden mellem to byer på planeten.

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

4. Opret LAMBDA-funktion til beregning af afstanden mellem to byer

LAMBDA-funktionen i Excel bruges til at opbygge tilpassede funktioner, der kan bruges på tværs af et regneark og tilgås med velkendte navne. Når den er defineret og har fået et navn, kan vi bruge disse funktioner overalt i vores regnebog.

Den vigtigste ligning for afstanden er:

D = acos (sinΦ 1 . sinΦ 2 + cosΦ 1 . cosΦ 2 cos Δλ) . R

Selv om det kan virke lidt overvældende, er de input, der betyder mest for os, de vigtigste:

  • Udgangspunktets bredde- og længdegrad.
  • Den endelige positions bredde- og længdegrad.

Så i formlen eller ligningen.

  • Δλ angiver forskellen mellem længdegrader ( lon_2-lon_1 ).
  • Φ 1 og Φ 2 angive sekventielt lat_1 og lat_2 .
  • R angiver overfladens radius.

Lad os oprette en LAMBDA funktionen til at beregne afstanden mellem to byer ved at følge nedenstående trin.

TRIN:

  • Først skal du vælge celle C8 .
  • Indsæt desuden formlen i den pågældende celle.
=LAMBDA(_lat1, _lon1, _lat2, _lon2, LET(lat_1, RADIANS(_lat1),lon_1, RADIANS(_lon1),lat_2,RADIANS(_lat2),lon_2, RADIANS(_lon2),r, 6378,ACOS((SIN(lat_1) * SIN(lat_2))) + (COS(lat_1) * COS(lat_2) * COS(lon_2-lon_1)))) * r))(C5,D5,C6,D6))(C5,D5,C6,D6)

  • Derefter skal du trykke på Indtast .

  • Dette viser resultatet, men formlen er for stor, og det kan være svært at forstå, hvis du bruger den mange gange.
  • Så i stedet for at gøre dette kan vi oprette en tilpasset formel ved hjælp af LAMBDA funktion.
  • Du kan gå til Formler fanen fra farvebåndet.
  • Under den Definerede navne gruppe, klik på Navn Manager .

  • Dette vil vise den Navn Manager dialogboksen.
  • Klik nu på Ny menu.

  • Dette fører dig til Nyt navn vindue.
  • Endvidere skal du navngive formlen, da vi ønsker at beregne afstanden mellem to byer, så vi sætter navnet på formlen CityDistance .
  • Indsæt derefter følgende formel i feltet i Henviser til .

=LAMBDA(_lat1, _lon1, _lat2, _lon2, LET(lat_1, RADIANS(_lat1),lon_1, RADIANS(_lon1),lat_2,RADIANS(_lat2),lon_2, RADIANS(_lon2),r, 6378,ACOS((SIN(lat_1) * SIN(lat_2))) + (COS(lat_1) * COS(lat_2) * COS(lon_2-lon_1)))) * r)))

  • Klik derefter på OK .

  • Dette fører dig til navn Manager dialog igen.
  • Klik desuden på Luk for at afslutte processen.

  • Nu kan du finde en ny brugerdefineret funktion CityDistance Og ved at bruge funktionen får du afstanden mellem to byer.

  • Ved at anvende formlen får vi således tallet 1358.524645 .

Læs mere: Sådan beregner du Levenshtein-afstanden i Excel (4 nemme metoder)

5. Beregn afstanden mellem to byer ved hjælp af Excel VBA

At lave en API ( Programmeringsgrænseflade for applikationer ) forbindelse og udnytte den til at opbygge en Brugerdefineret funktion i VBA er to andre måder at bestemme afstanden mellem to steder på. For at indsamle data for et sted forbinder Excel via API til ethvert kort, herunder Google Map og Bing-kort For at kunne anvende denne teknik skal vi derfor først etablere en API Det er virkelig enkelt, men desværre er det kun Bing-kort tilbyder en gratis API , ikke Google. Vi vil demonstrere denne måde ved at bruge den gratis Bing Map API nøgle. Klik her for at oprette din egen Bing Map API-nøgle .

TRIN:

  • Til at begynde med har vi oprettet en API og placerede den på celle C8 .

  • Gå nu til Udvikler fanen fra farvebåndet.
  • Derefter, fra den Kode kategori, klik på Visual Basic for at åbne den Visual Basic-editor . eller tryk på Alt + F11 for at åbne den Visual Basic-editor .

  • I stedet for at gøre dette kan du bare højreklik på på dit regneark og gå til Se kode Dette vil også føre dig til Visual Basic-editor .

  • Dette vil fremgå af Visual Basic-editor .
  • Klik endvidere på Modul fra den Indsæt drop-down-menulinjen.

  • Dette vil skabe en Modul i din arbejdsbog.
  • Og kopier og indsæt den VBA-kode vist nedenfor.

VBA-kode:

 Option Explicit Public Function CityDistance(First_City As String, Second_City 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=km" Set Setup_HTTP = CreateObject("MSXML2.ServerXMLHTTP") Output_Url = Initial_Point & First_City & Ending_Point & Second_City & 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("") CityDistance = Round(Round(Round(WorksheetFunction.FilterXML(Setup_HTTP.ResponseText, _ "//TravelDistance"), 3), 0) End Function 
  • Gem koden ved at gemme hele arbejdsmappen som en mikroaktiveret arbejdsmappe, og udvidelsen vil være .xlsm .

  • Dette vil oprette et brugerdefineret funktionsnavn CityDistance .

Forklaring af VBA-kode

  • Vi startede med at give vores Funktion navnet CityDistance . Første by Som streng, Second City som streng og Målværdi As String blev også medtaget som argumenter.
  • Derefter erklærede vi Opsætning af HTTP som et objekt og Oprindeligt punkt , Slutpunkt , Afstand Enhed , og Output Url som Strings.
  • Senere ændrede vi den Afstand Enhed til kilometer og Oprindeligt punkt til startpunktet for den Url link.
  • Dernæst indstiller vi de parametre, der er nødvendige for at etablere en forbindelse mellem vores VBA-kode og API .
  • Derefter oprettede vi vores Brugerdefineret funktion .

Konklusion

Ovenstående metoder vil hjælpe dig med at Beregn afstanden mellem to byer i Excel Jeg håber, at dette vil hjælpe dig! Lad os vide i kommentarfeltet, hvis du har spørgsmål, forslag eller feedback. Eller du kan kigge på vores andre artikler i ExcelWIKI.com blog!

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.