Sisällysluettelo
Excelillä on laaja valikoima sovelluksia. Ja kun käytät VBA niin näyttää siltä, että voimme tehdä Excelissä mitä haluamme. Joten voimme tietenkin löytää etäisyys paikkojen välillä käyttämällä karttaa Excelissä. Tässä artikkelissa näytän nopean oppaan etäisyyden laskemiseen Excelissä Google Mapsin avulla terävien vaiheiden ja selkeiden kuvien avulla.
Lataa harjoituskirja
Voit ladata ilmaisen Excel-työkirjan täältä ja harjoitella sitä itse.
Laske-etäisyys-Google-Mapsin avulla.xlsmKäyttäjän määrittelemän funktion käyttäminen etäisyyden laskemiseen Excelissä Google Mapsin avulla
Täällä me löytää etäisyys MacArthur Parkin ja Jersey Cityn välillä Google Mapsin avulla.
Ensin meidän on tiedettävä yksi tärkeä asia. Jotta voimme laskea etäisyyden Excelissä Google Mapsin avulla, tarvitsemme seuraavanlaisen arvon API avain. API tarkoittaa Sovellusohjelmointirajapinta . Excel muodostaa yhteyden Google Mapsin kanssa API-avaimen avulla tarvittavien tietojen keräämiseksi. Jotkut kartat tarjoavat ilmaisia API-avaimia, kuten Bing Maps. Mutta Google Maps ei tarjoa ilmaista API:ta. Vaikka hallitset ilmaista API:ta jotenkin, se ei toimi täydellisesti. Joten sinun on ostettava API tästä linkistä.
Täällä olen onnistunut vapaa API Se ei toimi kunnolla, sitä käytetään vain esimerkkinä. Käytetään komentoa VBA luoda käyttäjän määrittelemä toiminto nimeltään Calculate_Distance osoitteeseen löytää etäisyys Sillä on kolme argumenttia. Lähtöpaikka , Kohde ja API-avain Aloitetaan nyt menettelyt.
Vaiheet:
- Paina ALT + F11 avataksesi VBA-ikkuna .
- Klikkaa seuraavaksi seuraavasti: Insert> Moduuli luodaksesi uuden moduulin.
- Kirjoita myöhemmin seuraavat koodit ikkunaan-
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 (yhteensopiva; MSIE 6.0; Windows NT 5.0))" mitHTTP.Send ("") If InStr(mitHTTP.ResponseText, """etäisyys"" : {"") = 0 Then GoTo ErrorHandl Set mit_reg =CreateObject("VBScript.RegExp"): mit_reg.Pattern = """arvo"".*?([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
- Sitten ei mitään, palaa vain arkkiisi.
Koodin erittely:
- Ensin käytin Public Function -proseduuria Calculate_Distance .
- Sitten ilmoitetaan joitakin muuttujia first_Value, second_Value ja last_Value. käyttäjän määrittelemän funktiomme argumentteja varten.
- Aseta muuttujien arvot (kukin arvo on itsekuvaava) ja aseta muuttujan mitHTTP objekti ServerXMLHTTP käyttää GET metodia (käytetään myöhemmin, tämä objektiominaisuus sallii käyttää POST menetelmä).
- Url on kaikkien aiemmin asetettujen arvojen yhdistelmä, avoimen ominaisuuden avoin ominaisuus mitHTTP esine käytti sitä.
- Kun arvot on määritetty, kirjastofunktio suorittaa loput laskutoimitukset.
Nyt näet, että toimintomme on valmis käytettäväksi.
- Osoitteessa Solu C8 kirjoitetaan seuraava kaava-
=Calculate_Distance(C4,C5,C6)
- Lopuksi paina vain ENTER painiketta saadaksesi etäisyyden. Se näyttää etäisyyden kohdassa Mittarin yksikkö .
Lue lisää: Kuinka laskea ajoetäisyys kahden osoitteen välillä Excelissä?
Plussat ja miinukset etäisyyden laskemisessa Google Mapsin avulla
- Sinulla on oltava voimassa oleva API-avain .
- Yllä oleva koodi antaa tulosteen Mittarin yksikkö .
- Käyttäjän määrittelemä toiminto käyttää suoraan paikannimiä, eikä koordinaatteja tarvitse käyttää.
- Varmista, että olet käyttänyt kelvollista paikkaa.
Etäisyyden laskemisen edut ja haitat Google Mapsin avulla
Edut
- Suuren parin paikan osalta se on varsin mahdollista, koska voimme käyttää Täyttökahva työkalulla kopioida kaava. Se ei ole mahdollista ohjelmassa Google Maps
- Se on melko nopeampi tapa.
- Koordinaatteja ei tarvitse käyttää.
Haitat
- Se ei voi toimia koordinaattien kanssa.
- Et saa karttaa tai reittiä, saat vain etäisyyden.
- Se ei toimi paikannimien likimääräisen vastaavuuden kanssa.
Päätelmä
Toivon, että edellä kuvatut menettelyt ovat tarpeeksi hyviä etäisyyden laskemiseen Excelissä Google Mapsin avulla. Voit kysyä mitä tahansa kysymystä kommenttiosassa ja anna minulle palautetta. Käy. ExcelWIKI tutkia lisää.