Indholdsfortegnelse
Microsoft Excel er et meget alsidigt regnearksprogram. Det tilbyder at udføre så mange forskellige opgaver, at du ikke engang kan forestille dig det. Du kan endda beregne køreafstanden mellem to adresser i Excel. Hvis du har en liste med adresser, som du skal finde forskellen mellem dem, kan du selvfølgelig bruge MS Excel. Du kan også beregne afstanden manuelt. Men det vil være for tidskrævende. Da du harI denne artikel vil jeg derfor vise dig, hvordan du kan beregne køreafstand mellem to adresser i Excel.
Download arbejdsbog til øvelser
Du kan downloade Excel-filen fra følgende link og øve dig med den.
Beregne køreafstand mellem to adresser.xlsm2 effektive måder at beregne kørselsafstand mellem to adresser i Excel på
1. Brug af trigonometriske funktioner til at beregne kørselsafstand
Her vil jeg vise dig, hvordan du kombinerer forskellige trigonometriske funktioner til at beregne køreafstanden mellem to adresser i Excel.
For at give dig et eksempel har jeg taget to adresser. Den første adresse er MacArthur Park, Camden NSW, Australien Dens bredde- og længdegrad er 34.06312149 og -118.2783975 Den anden adresse er henholdsvis Jersey City, New Jersey, USA Dens bredde- og længdegrad er 40.71799929 og -74.04276812 henholdsvis.
Nu vil jeg kombinere de ACOS , COS , SIN , & RADIANS Funktioner til at oprette en formel. Formlen beregner effektivt køreafstanden mellem to adresser i miles.
Til det,
❶ Vælg celle D8 først.
❷ Indsæt derefter følgende formel i cellen.
=ACOS(COS(RADIANER(90-C6)) *COS(RADIANER(90-C5)) +SIN(RADIANER(90-C6)) *SIN(RADIANER(90-C5)) * COS(RADIANER(D6-D5))) *3959
❸ Derefter skal du trykke på INDTAST knap.
Nu vil du se, at formlen har beregnet køreafstanden mellem MacArthur Park, Camden NSW, Australien, og Jersey City, New Jersey, USA i miles. Du vil således se resultatet i celle D8 som er 2445.270922 miles.
Opdeling af formler
- COS(RADIANER(90-C6)) *COS(RADIANER(90-C5)) - den RADIANS funktioner konverterer værdierne til radianer og COS funktionen giver cosinus af værdierne, og cosinus for breddegrader ganges derefter. Udgang - 0.365377540842758
- COS(RADIANER(D6-D5)) - giver cosinusværdien for længdeforskellen mellem de to adresser. Udgang - 0.716476936499882
- SIN(RADIANER(90-C6)) *SIN(RADIANER(90-C5)) - beregner afvigelsen af længdegrader fra 90 radianer og multiplicerer sinusværdierne. Udgang - 0.627884682513118
- SIN(RADIANER(90-C6)) *SIN(RADIANER(90-C5)) *COS(RADIANER(D6-D5)) - bliver 0,627884682513118 * 0,716476936499882. Udgang - 0.449864893802199
- COS(RADIANER(90-C6)) *COS(RADIANER(90-C5)) +SIN(RADIANER(90-C6)) *SIN(RADIANER(90-C5)) *COS(RADIANER(D6-D5)) - bliver 0,36537757540842758 * 0,449864893802199. Udgang - 0.815242434644958
- Derefter ACOS funktionen arccosinerer værdien. Udgang - 0.617648629071256
- Endelig multipliceres værdien med 3959 - 0.617648629071256 *3959 giver resultatet i miles. Udgang - 2445.270922
Læs mere: Sådan beregnes kilometer mellem to adresser i Excel (2 metoder)
2. Beregn kørselsafstand mellem to adresser ved hjælp af VBA-kode
I dette afsnit vil jeg bruge en VBA kode til at oprette en brugerdefineret funktion. Derefter vil jeg bruge denne funktion til at beregne køreafstanden mellem to adresser i Excel.
Her bruger jeg to adresser. Den første adresse er MacArthur Park, Camden NSW, Australien Dens bredde- og længdegrad er 34.06312149 og -118.2783975 Den anden adresse er henholdsvis Jersey City, New Jersey, USA Dens bredde- og længdegrad er 40.71799929 og -74.04276812 henholdsvis.
På den vil jeg generere koordinater for hver af adresserne. Et koordinat er en kombination af breddegrad og længdegrad. For at generere et koordinat,
- Indtast breddegraden for en adresse først.
- Indsæt derefter et komma.
- Derefter indtastes længdegraden for samme adresse.
Så koordinaten for den første adresse er 34.0631214903094,-118.27839753751 . og koordinaten for den anden adresse er 40.7179992930381,-74.0427681204225 .
VBA kode kræver en API af et kort til at beregne kørselsafstanden. API står for Application Programming Interface. Du kan bruge en API til at tilslutte enten den Google Map eller eller Bing-kort hvad du foretrækker.
Men at skabe den Google Map API Derimod kan man oprette en API af den Bing MAP gratis.
Derfor bruger jeg den Bing MAP API her.
- For at oprette en gratis Bing MAP API , klik her .
Jeg har oprettet en API . jeg vedhæfter den API nedenfor:
AhFG0hk5nKCcQlk80MRaSk1ZtoYYUYsX98BCLWi7p7MKZ-VrzOWptdUwsvj9D3L9F
Nu er det tid til at skrive den VBA kode. For det,
- Tryk på ALT + F11 for at åbne den VBA-editor .
- Gå nu til Indsæt ➤ Modul for at åbne et nyt modul.
Når du har åbnet den VBA-editor , indsætte følgende VBA kode i det åbnede modul.
Option Explicit Public Function Driving_Distance(startlocation As String, destination As String, keyvalue As String) Dim First_Value As String, Second_Value As String, Last_Value As String, mitHTTP As Object, mitUrl As String First_Value = "//dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins=" Second_Value = "&destinations=" Last_Value = "&travelMode=driving&o=xml&key="& keyvalue & "&distanceUnit=mi" Set mitHTTP = CreateObject("MSXML2.ServerXMLHTTP") mitUrl = First_Value & startlokation & Second_Value & destination & Last_Value mitHTTP.Open "GET", mitUrl, False mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" mitHTTP.Send ("") Driving_Distance =Round(Round(WorksheetFunction.FilterXML(mitHTTP.ResponseText, "//TravelDistance"), 3), 3), 0) End Function
Opdeling af kode
- Her har jeg oprettet en brugerdefineret funktion kaldet Kørselsafstand.
- Derefter brugte jeg 3 parametre: startlokation , destination , og nøgleværdi. Det drejer sig om de to adressers placering og den API værdi.
- Derefter brugte jeg flere variabler som f.eks. Første_Værdi , Anden_Værdi , Sidste_værdi , mitHTTP , & mitUrl. Disse variabler bruges til at gemme forskellige værdier.
- Derefter kombineres værdierne (gemt i mitUrl ) og brugte flere objektmetoder ( Åbn , SetRequestHeader , Send ). På denne måde lykkedes det mig at beregne kørselsafstanden gennem API .
Denne VBA kode genererer en brugerdefineret funktion kaldet Kørsel_Distance .
Funktionen Kørsel_Distance kræver 3 argumenter i alt.
Her er den generiske syntaks for Kørsel_Distance funktion.
=Driving_Distance(Start_Location_Coordinate,End_Location_Coordinate, API)
Nu er det tid til at anvende den brugerdefinerede funktion. Til det formål,
- Vælg celle E10 .
- Indsæt derefter følgende formel:
=Kørselsafstand(E5,E6,C8)
- Tryk nu på INDTAST .
Opdeling af formler
- E5 er den Start_Location_Coordinate .
- E6 er den End_Location_Coordinate .
- C8 er den API af den Bing MAP .
Funktionen beregner kørselsafstanden mellem to adresser i miles. Tjek celle E10 . det vil se nummeret, 2790 .
Så køreafstanden mellem MacArthur Park, Camden NSW, Australien, og Jersey City, New Jersey, USA er 2790 miles.
Læs mere: Sådan beregnes afstanden mellem to adresser i Excel (3 måder)
Øvelsesafsnit
Du får et Excel-ark som det følgende skærmbillede i slutningen af den medfølgende Excel-fil, hvor du kan øve dig i alle de metoder, der er beskrevet i denne artikel.
Konklusion
For at opsummere, har jeg diskuteret 2 måder at beregne køreafstand mellem to adresser i Excel. Og tøv ikke med at stille spørgsmål i kommentarfeltet nedenfor. Vi vil forsøge at besvare alle relevante forespørgsler hurtigst muligt. Og besøg venligst vores hjemmeside Exceldemy for at udforske mere.