Inhoudsopgave
Microsoft Excel is een zeer veelzijdig spreadsheetprogramma. Je kunt er zo veel taken mee uitvoeren dat je je dat niet eens kunt voorstellen. Je kunt zelfs de rijafstand tussen twee adressen in Excel berekenen. Als je een lijst met adressen hebt om het verschil tussen die adressen te vinden, kun je natuurlijk MS Excel gebruiken. Je kunt de afstand ook handmatig berekenen, maar dat zal te veel tijd kosten. Als jeIn dit artikel laat ik u zien hoe u de rijafstand tussen twee adressen in Excel kunt berekenen.
Download Praktijk Werkboek
U kunt het Excel-bestand downloaden van de volgende link en ermee oefenen.
Rijafstand tussen twee adressen berekenen.xlsm2 Effectieve manieren om de rijafstand tussen twee adressen in Excel te berekenen
1. Trigonometrische functies gebruiken om de rijafstand te berekenen
Hier zal ik je laten zien hoe je verschillende trigonometrische functies om de rijafstand tussen twee adressen te berekenen in Excel.
Om u een voorbeeld te geven, heb ik twee adressen genomen. Het eerste adres is MacArthur Park, Camden NSW, Australië De lengte- en breedtegraad zijn 34.06312149 en -118.2783975 respectievelijk. Het tweede adres is Jersey City, New Jersey, VS De lengte- en breedtegraad zijn 40.71799929 en -74.04276812 respectievelijk.
Nu zal ik de ACOS , COS , SIN , & RADIANS De formule berekent de rijafstand tussen twee adressen in mijlen.
Daarvoor,
Selecteer cel D8 eerst.
❷ Voeg dan de volgende formule in de cel in.
=ACOS(COS(RADIALEN(90-C6)) *COS(RADIALEN(90-C5)) +SIN(RADIALEN(90-C6)) *SIN(RADIALEN(90-C5)) * COS(RADIALEN(D6-D5))) *3959
❸ Druk daarna op de ENTER knop.
Nu zult u zien dat de formule de rijafstand heeft berekend tussen de MacArthur Park, Camden NSW, Australië, en Jersey City, New Jersey, VS in mijlen. U ziet dus het resultaat in cel D8 dat is 2445.270922 mijlen.
Formuleverdeling
- COS(RADIALEN(90-C6)) *COS(RADIALEN(90-C5)) - de RADIANS functies zetten de waarden om in radialen en de COS functie geeft de cosinus van de waarden, de cosinussen voor de breedtegraad worden dan vermenigvuldigd. Uitgang - 0.365377540842758
- COS(RADIALEN(D6-D5)) - geeft de cosinuswaarde voor het lengtegraadverschil tussen de twee adressen. Uitgang - 0.716476936499882
- SIN(RADIALEN(90-C6)) *SIN(RADIALEN(90-C5)) - berekent de afwijking van lengtegraden van 90 radialen en vermenigvuldigt de sinuswaarden. Uitgang - 0.627884682513118
- SIN(RADIALEN(90-C6)) *SIN(RADIALEN(90-C5)) *COS(RADIALEN(D6-D5)) - wordt 0,627884682513118 * 0,716476936499882. Uitgang - 0.449864893802199
- COS(RADIALEN(90-C6)) *COS(RADIALEN(90-C5)) +SIN(RADIALEN(90-C6)) *SIN(RADIALEN(90-C5)) *COS(RADIALEN(D6-D5)) - wordt 0,365377540842758 * 0,449864893802199. Uitgang - 0.815242434644958
- Dan is de ACOS functie arccoliseert de waarde. Uitgang - 0.617648629071256
- Tenslotte wordt de waarde vermenigvuldigd met 3959 - 0.617648629071256 *3959 geeft het resultaat in mijlen. Uitgang - 2445.270922
Lees meer: Hoe kilometers tussen twee adressen berekenen in Excel (2 methoden)
2. Bereken de rijafstand tussen twee adressen met VBA-code
In dit deel zal ik een VBA code om een door de gebruiker gedefinieerde functie te maken. Vervolgens zal ik die functie gebruiken om de rijafstand tussen twee adressen in Excel te berekenen.
Hier gebruik ik twee adressen. Het eerste adres is MacArthur Park, Camden NSW, Australië De lengte- en breedtegraad zijn 34.06312149 en -118.2783975 respectievelijk. Het tweede adres is Jersey City, New Jersey, VS De lengte- en breedtegraad zijn 40.71799929 en -74.04276812 respectievelijk.
Ik zal voor elk van de adressen coördinaten genereren. Een coördinaat is een combinatie van breedte- en lengtegraad. Om een coördinaat te genereren,
- Voer eerst de breedtegraad van een adres in.
- Voeg dan een komma toe.
- Daarna typt u de lengtegraad van hetzelfde adres.
Dus de coördinaat van het eerste adres is 34.0631214903094,-118.27839753751 En de coördinaat van het tweede adres is 40.7179992930381,-74.0427681204225 .
De VBA code vereist een API van een kaart om de rijafstand te berekenen. De API staat voor Application Programming Interface. U kunt een API om de Google Kaart of de Bing Kaart wat je maar wilt.
Maar het creëren van de Google Kaart API wordt betaald. Integendeel, u kunt een API van de Bing MAP gratis.
Ik gebruik dus de Bing MAP API hier.
- Om een gratis Bing MAP API , klik hier .
Ik heb een API Ik voeg de API hieronder:
AhFG0hk5nKCcQlk80MRaSk1ZtoYUYsX98BCLWi7p7MKZ-VrzOWptdUwsvj9D3L9F
Nu is het tijd om de VBA code. Voor dat,
- Druk op ALT + F11 om de VBA-editor .
- Ga nu naar Plaats ➤ Module om een nieuwe module te openen.
Na het openen van de VBA-editor het volgende invoegen VBA code in de geopende module.
Option Explicit Public Function Driving_Distance(startlocatie Als String, bestemming Als String, sleutelwaarde Als String) Dim First_Value Als String, Second_Value Als String, Last_Value Als String, mitHTTP Als Object, mitUrl Als 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 & startlocatie & 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
Code Breakdown
- Hier heb ik een door de gebruiker gedefinieerde functie genaamd Driving_Distance.
- Dan heb ik 3 parameters gebruikt: startlocatie , bestemming en sleutelwaarde. Dit zijn de positie van de twee adressen en de API waarde.
- Daarna gebruikte ik verschillende variabelen zoals Eerste_waarde , Tweede_waarde , Laatste_waarde , mitHTTP , & mitUrl. Deze variabelen worden gebruikt om verschillende waarden op te slaan.
- Vervolgens werden de waarden (opgeslagen in mitUrl ) en gebruikte verschillende objectmethoden ( Open , SetRequestHeader , Stuur ). Zo heb ik de rijafstand kunnen berekenen via de API .
Deze VBA code genereert een door de gebruiker gedefinieerde functie genaamd Driving_Distance .
De functie Driving_Distance vereist 3 argumenten in totaal.
Hier is de algemene syntaxis van de Driving_Distance functie.
=Driving_Distance(Start_Location_Coordinate,End_Location_Coordinate, API)
Nu is het tijd om de door de gebruiker gedefinieerde functie toe te passen. Daarvoor,
- Selecteer cel E10 .
- Voeg dan de volgende formule toe:
=Driving_Distance(E5,E6,C8)
- Druk nu op ENTER .
Formuleverdeling
- E5 is de Startlocatie_coördinaat .
- E6 is de Einde_Locatie_Coordinaat .
- C8 is de API van de Bing MAP .
De functie berekent de rijafstand tussen twee adressen in mijlen. Bekijk cel E10 Het zal het nummer zien, 2790 .
Dus de rijafstand tussen MacArthur Park, Camden NSW, Australië, en Jersey City, New Jersey, VS is 2790 mijlen.
Lees meer: Hoe afstand tussen twee adressen berekenen in Excel (3 manieren)
Praktijk Sectie
U krijgt een Excel-blad zoals de volgende schermafbeelding, aan het einde van het meegeleverde Excel-bestand waarin u alle in dit artikel besproken methoden kunt oefenen.
Conclusie
Kortom, ik heb 2 manieren besproken om de rijafstand tussen twee adressen te berekenen in Excel. En aarzel niet om vragen te stellen in de commentaarsectie hieronder. We zullen proberen zo snel mogelijk te reageren op alle relevante vragen. En bezoek onze website Exceldemy om meer te ontdekken.