Innehållsförteckning
Microsoft Excel är ett mycket mångsidigt kalkylprogram. Det kan utföra så många olika uppgifter att du inte ens kan föreställa dig det. Du kan till och med beräkna körsträckan mellan två adresser i Excel. Om du har en lista med adresser och vill hitta skillnaden mellan dem kan du naturligtvis använda MS Excel. Du kan också beräkna avståndet manuellt. Men det blir för tidskrävande. Eftersom du harI den här artikeln ska jag därför visa hur man beräknar körsträckan mellan två adresser i Excel.
Ladda ner övningsboken
Du kan ladda ner Excel-filen från följande länk och öva med den.
Beräkna körsträckan mellan två adresser.xlsm2 effektiva sätt att beräkna körsträckan mellan två adresser i Excel
1. Användning av trigonometriska funktioner för att beräkna körsträckan
Här ska jag visa hur du kombinerar olika trigonometriska funktioner för att beräkna körsträckan mellan två adresser i Excel.
För att ge dig ett exempel har jag tagit två adresser. Den första adressen är MacArthur Park, Camden NSW, Australien Dess latitud och longitud är 34.06312149 och -118.2783975 Den andra adressen är Jersey City, New Jersey, USA Dess latitud och longitud är 40.71799929 och -74.04276812 respektive.
Nu kommer jag att kombinera ACOS , COS , SIN , & RADIANS Funktionen kommer effektivt att beräkna körsträckan mellan två adresser i miles.
För det,
❶ Välj cell D8 först.
❷ Lägg sedan in följande 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
❸ Därefter trycker du på ENTER knapp.
Nu ser du att formeln har beräknat körsträckan mellan MacArthur Park, Camden NSW, Australien, och Jersey City, New Jersey, USA i miles. Du ser alltså resultatet i cell D8 som är 2445.270922 miles.
Fördelning av formler
- COS(RADIANER(90-C6)) *COS(RADIANER(90-C5)) - den RADIANS funktionerna omvandlar värdena till radianer och COS funktionen ger värdenas cosinus, och cosinusvärdena för latitud multipliceras sedan. Utgång - 0.365377540842758
- COS(RADIANER(D6-D5)) - ger cosinusvärdet för longitudskillnaden mellan de två adresserna. Utgång - 0.716476936499882
- SIN(RADIANER(90-C6)) *SIN(RADIANER(90-C5)) - beräknar longitudernas avvikelse från 90 radianer och multiplicerar sinusvärdena. Utgång - 0.627884682513118
- SIN(RADIANER(90-C6)) *SIN(RADIANER(90-C5)) *COS(RADIANER(D6-D5)) - blir 0,627884682513118 * 0,716476936499882. Utgång - 0.449864893802199
- COS(RADIANER(90-C6)) *COS(RADIANER(90-C5)) +SIN(RADIANER(90-C6)) *SIN(RADIANER(90-C5)) *COS(RADIANER(D6-D5)) - blir 0,365377540842758 * 0,449864893802199. Utgång - 0.815242434644958
- Då är det ACOS funktionen arccosinerar värdet. Utgång - 0.617648629071256
- Slutligen multipliceras värdet med 3959 - 0.617648629071256 *3959 ger resultatet i miles. Utgång - 2445.270922
Läs mer: Hur man beräknar mil mellan två adresser i Excel (2 metoder)
2. Beräkna körsträckan mellan två adresser med hjälp av VBA-kod
I det här avsnittet kommer jag att använda en VBA koden för att skapa en användardefinierad funktion. Sedan ska jag använda funktionen för att beräkna körsträckan mellan två adresser i Excel.
Här använder jag två adresser. Den första adressen är MacArthur Park, Camden NSW, Australien Dess latitud och longitud är 34.06312149 och -118.2783975 Den andra adressen är Jersey City, New Jersey, USA Dess latitud och longitud är 40.71799929 och -74.04276812 respektive.
På den kommer jag att generera koordinater för varje adress. En koordinat är en kombination av latitud och longitud. För att generera en koordinat,
- Skriv först latituden för en adress.
- Sätt sedan in ett kommatecken.
- Därefter skriver du longitud för samma adress.
Koordinaten för den första adressen är alltså 34.0631214903094,-118.27839753751 . Och koordinaten för den andra adressen är 40.7179992930381,-74.0427681204225 .
VBA kod kräver en API av en karta för att beräkna körsträckan. API står för Application Programming Interface (gränssnitt för tillämpningsprogrammering). Du kan använda ett API för att ansluta antingen Google Map eller Bing-karta vad du föredrar.
Men att skapa en Google Map API är betald. Tvärtom kan man skapa en API av den Bing MAP kostnadsfritt.
Jag använder alltså Bing MAP API här.
- För att skapa en gratis Bing MAP API , klicka här .
Jag har skapat en API . Jag bifogar API nedan:
AhFG0hk5nKCcQlk80MRaSk1ZtoYYUYsX98BCLWi7p7MKZ-VrzOWptdUwsvj9D3L9F
Nu är det dags att skriva VBA kod. För det,
- Tryck på ALT + F11 för att öppna VBA-redigerare .
- Gå nu till Infoga ➤ Modul för att öppna en ny modul.
Efter att ha öppnat VBA-redigerare , införa följande VBA koden i den öppnade modulen.
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="& nyckelvärde & "&distanceUnit=mi" Set mitHTTP = CreateObject("MSXML2.ServerXMLHTTP") mitUrl = First_Value & startlocation & 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), 0) End Function
Uppdelning av koden
- Här har jag skapat en användardefinierad funktion som heter Körsträcka.
- Sedan använde jag 3 parametrar: startplats , destination , och nyckelvärde. Dessa är de två adressernas position och den API respektive värde.
- Sedan använde jag flera variabler, t.ex. Första_värde , Andra_värde , Senaste_värde , mitHTTP , & mitUrl. Dessa variabler används för att lagra olika värden.
- Därefter kombineras värdena (lagrade i mitUrl ) och använde flera objektmetoder ( Öppna , SetRequestHeader , Skicka ). På så sätt lyckades jag beräkna körsträckan med hjälp av API .
Denna VBA koden genererar en användardefinierad funktion som kallas Körsträcka_Distance .
Funktionen Körsträcka_Distance kräver 3 argument totalt.
Här är den generiska syntaxen för Körsträcka_Distance funktion.
=Driving_Distance(Start_Location_Coordinate,End_Location_Coordinate, API)
Nu är det dags att tillämpa den användardefinierade funktionen. För detta,
- Välj cell E10 .
- Lägg sedan in följande formel:
= Körsträcka(E5,E6,C8)
- Tryck nu på ENTER .
Fördelning av formler
- E5 är den Start_Location_Coordinate .
- E6 är den End_Location_Coordinate .
- C8 är den API av den Bing MAP .
Funktionen beräknar körsträckan mellan två adresser i miles. Kolla in cell E10 Det kommer att se numret, 2790 .
Körsträckan mellan MacArthur Park, Camden NSW, Australien, och Jersey City, New Jersey, USA är 2790 miles.
Läs mer: Hur man beräknar avståndet mellan två adresser i Excel (3 sätt)
Övningssektionen
Du får ett Excel-ark som följande skärmdump i slutet av den medföljande Excel-filen där du kan öva på alla metoder som diskuteras i den här artikeln.
Slutsats
Sammanfattningsvis har jag diskuterat 2 sätt att beräkna körsträckan mellan två adresser i Excel. Och tveka inte att ställa några frågor i kommentarsfältet nedan. Vi kommer att försöka svara på alla relevanta frågor så fort som möjligt. Och besök gärna vår webbplats Excellent för att utforska mer.