Cuprins
Excel are o gamă largă de aplicații. Și în timp ce utilizați VBA atunci se pare că putem face orice dorim în Excel. Deci, desigur, putem găsiți distanța dintre locuri folosind o hartă în Excel. În acest articol, voi arăta un ghid rapid pentru a calcula distanța în Excel cu Google Maps cu pași clare și ilustrații clare.
Descărcați caietul de practică
Puteți descărca gratuit caietul de lucru Excel de aici și puteți exersa pe cont propriu.
Calculați-distanța-cu-Google-Maps.xlsmUtilizarea unei funcții definite de utilizator pentru a calcula distanța în Excel cu Google Maps
Aici, vom... găsiți distanța între MacArthur Park și Jersey City folosind Google Maps.
În primul rând, trebuie să știm un lucru important. Pentru a calcula distanța în Excel folosind Google Maps, vom avea nevoie de un fișier API cheie. API reprezintă Interfața de programare a aplicațiilor . Excel se conectează cu Google Maps folosind cheia API pentru a colecta datele necesare. Unele hărți oferă chei API gratuite, cum ar fi Bing Maps. Dar Google Maps nu oferă API gratuit. Deși gestionați un API gratuit, cumva, acesta nu va funcționa perfect. Deci, va trebui să cumpărați cheia API gratuită. API din acest link.
Aici, am reușit să obțin un API Nu funcționează corect, ci doar pentru a arăta ca exemplu. Vom folosi VBA pentru a crea un funcție definită de utilizator numit Calculați_Distanța la găsiți distanța Acesta va avea trei argumente - Locul de pornire , Destinație , și Cheia API Acum să începem procedurile.
Pași:
- Apăsați ALT + F11 pentru a deschide fereastra Fereastra VBA .
- În continuare, faceți clic după cum urmează: Inserare> Modul pentru a crea un nou modul.
- Ulterior, introduceți următoarele coduri în fereastra-
Public Function Calculate_Distance(start As String, dest As String, Alink As String) As Double Dim first_Value As String, second_Value As String, last_Value As String Dim mitHTTP As 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 (compatibil; 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
- Atunci nimic, doar întoarceți-vă la foaia dvs.
Descompunerea codului:
- În primul rând, am folosit o procedură Public Function Calculați_Distanța .
- Apoi a declarat câteva variabile first_Value, second_Value și last_Value pentru argumentele funcției noastre definite de utilizator.
- Setați valorile variabilelor (fiecare valoare este autodescriptivă) și setați valorile variabilelor mitHTTP obiect în ServerXMLHTTP pentru a utiliza GET (utilizată mai târziu, această proprietate obiect va permite utilizarea metodei POST de asemenea).
- Url este combinația dintre toate valorile stabilite anterior, proprietatea open din mitHTTP obiect l-a folosit.
- După atribuirea valorilor, funcția de bibliotecă efectuează restul calculelor.
Acum vedeți, funcția noastră este gata de utilizare.
- În Celula C8 , introduceți următoarea formulă-
=Calculate_Distance(C4,C5,C6)
- În cele din urmă, trebuie doar să apăsați butonul ENTER pentru a obține distanța. Se va afișa distanța în Unitate de măsurare .
Citește mai mult: Cum se calculează distanța de conducere între două adrese în Excel
Pro și contra în timp ce calculați distanța cu Google Maps
- Trebuie să aveți un permis de conducere valabil Cheia API .
- Codul de mai sus va da rezultatul în fișierul Unitate de măsurare .
- Funcția definită de utilizator utilizează direct denumirile de locuri, fără a fi necesară utilizarea coordonatelor.
- Asigurați-vă că ați folosit un loc valid.
Avantajele și dezavantajele calculării distanței cu Google Maps
Avantaje
- Pentru câteva locuri mari, este destul de fezabil, deoarece putem folosi Mâner de umplere pentru a copia formula. Acest lucru nu este posibil în Google Maps
- Este o modalitate destul de rapidă.
- Nu este nevoie să folosiți coordonate.
Dezavantaje
- Nu poate funcționa cu coordonate.
- Nu veți obține harta sau traseul, ci doar distanța.
- Nu va funcționa cu potrivirea aproximativă a toponimelor.
Concluzie
Sper că procedurile descrise mai sus vor fi suficient de bune pentru a calcula distanța în Excel cu Google Maps. Nu ezitați să puneți orice întrebare în secțiunea de comentarii și vă rog să-mi dați feedback. Vizitați ExcelWIKI pentru a explora mai mult.