Inhoudsopgave
Excel heeft een breed scala aan toepassingen. En tijdens het gebruik van VBA dan lijkt het erop dat we alles kunnen doen wat we willen in Excel. Dus natuurlijk kunnen we de afstand tussen plaatsen vinden In dit artikel laat ik een snelle gids zien om de afstand te berekenen in Excel met Google Maps met scherpe stappen en duidelijke illustraties.
Download Praktijk Werkboek
U kunt de gratis Excel-werkmap hier downloaden en zelf oefenen.
Bereken-afstand-met-Google-Maps.xlsmEen door de gebruiker gedefinieerde functie gebruiken om afstand te berekenen in Excel met Google Maps
Hier zullen we vind de afstand tussen MacArthur Park en Jersey City met behulp van Google Maps.
Eerst moeten we een belangrijk ding weten. Om de afstand in Excel te berekenen met behulp van Google Maps hebben we een API sleutel. API staat voor Toepassing Programmeer Interface Excel maakt verbinding met Google Maps via de API sleutel voor het verzamelen van de benodigde gegevens. Sommige kaarten bieden gratis API sleutels zoals Bing Maps. Maar Google Maps biedt geen gratis API. Hoewel u een gratis API beheert zal dat op de een of andere manier niet perfect werken. U zult dus de API sleutel van deze link.
Hier heb ik een gratis API toets. Het werkt niet goed, alleen gebruikt als voorbeeld. We gebruiken VBA om een door de gebruiker gedefinieerde functie genaamd Bereken afstand naar vind de afstand Het heeft drie argumenten. Startplaats , Bestemming en API sleutel Laten we beginnen met de procedures.
Stappen:
- Druk op ALT + F11 om de VBA-venster .
- Klik vervolgens als volgt: Invoegen> Module om een nieuwe module te maken.
- Typ later de volgende codes in het venster-
Openbare functie Bereken afstand(start Als String, dest Als String, Alink Als String) Als Double Dim first_Value Als String, second_Value Als String, last_Value Als String Dim mitHTTP Als Object first_Value = "//maps.googleapis.com/maps/api/distancematrix/json?origins=" second_Value = "&destinations=" last_Value = "&mode=car&language=pl&sensor=false&key=" & Alink Set mitHTTP =CreateObject("MSXML2.ServerXMLHTTP") Url = first_Value & Replace(start, " ", "+") & second_Value & Replace(dest, " ", "+") & last_Value mitHTTP.Open "GET", Url, False mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatibel; MSIE 6.0; Windows NT 5.0)" mitHTTP.Send ("") If InStr(mitHTTP.ResponseText, """distance"" : {"") = 0 Then GoTo ErrorHandl Set mit_reg =.CreateObject("VBScript.RegExp"): mit_reg.Pattern = """value"".*?([0-9]+)": mit_reg.Global = False Set mit_matches = mit_reg.Execute(mitHTTP.ResponseText) tmp_Value = Replace(mit_matches(0).Submit_matches(0), ".", Application.International(xlListSeparator)) Calculate_Distance = CDbl(tmp_Value) Exit Function ErrorHandl: Calculate_Distance = -1 End Function.
- Dan niets, ga gewoon terug naar je blad.
Code Breakdown:
- Eerst gebruikte ik een openbare functieprocedure Bereken afstand .
- Dan enkele variabelen gedeclareerd eerste_waarde, tweede_waarde en laatste_waarde. voor de argumenten van onze door de gebruiker gedefinieerde functie.
- Stel de waarden voor de variabelen in (elke waarde is zelfbeschrijvend), en stel de mitHTTP object in ServerXMLHTTP om de GET methode (later gebruikt, zal deze object eigenschap het gebruik van de POST methode ook).
- Url is de combinatie van alle eerder ingestelde waarden, de open eigenschap van de mitHTTP object gebruikte.
- Na toewijzing van de waarden doet de bibliotheekfunctie de rest van de berekening.
Nu zie je dat onze functie klaar is voor gebruik.
- In Cel C8 typ de volgende formule...
=Calculate_Distance(C4,C5,C6)
- Tot slot drukt u op de ENTER knop om de afstand te krijgen. Het toont de afstand in de Metereenheid .
Lees meer: Hoe de rijafstand tussen twee adressen te berekenen in Excel
Voor- en nadelen van het berekenen van afstanden met Google Maps
- U moet een geldige API sleutel .
- De bovenstaande code geeft de uitvoer in de Metereenheid .
- De door de gebruiker gedefinieerde functie gebruikt plaatsnamen rechtstreeks, zonder coördinaten te hoeven gebruiken.
- Zorg ervoor dat je een geldige plaats hebt gebruikt.
Voordelen en nadelen van het berekenen van afstanden met Google Maps
Voordelen
- Voor een groot aantal plaatsen is het goed mogelijk, omdat we de Vulgreep gereedschap om de formule te kopiëren. Dat is niet mogelijk in Google Maps
- Het is een vrij snelle manier.
- Je hoeft geen coördinaten te gebruiken.
Nadelen
- Het kan niet werken met coördinaten.
- Je krijgt geen kaart of route, alleen de afstand.
- Het werkt niet als de plaatsnamen ongeveer overeenkomen.
Conclusie
Ik hoop dat de hierboven beschreven procedures goed genoeg zijn om de afstand te berekenen in Excel met Google Maps. Voel je vrij om vragen te stellen in de commentaarsectie en geef me alsjeblieft feedback. Bezoek ExcelWIKI om meer te ontdekken.