Kazalo
Excel ima široko paleto aplikacij. VBA potem se zdi, da lahko v Excelu počnemo, karkoli želimo. poiščite razdaljo med kraji. z uporabo zemljevida v Excelu. V tem članku bom prikazal hiter vodnik za izračun razdalje v Excelu z Google Maps z ostrimi koraki in jasnimi ilustracijami.
Prenesi delovni zvezek za prakso
Brezplačni delovni zvezek programa Excel lahko prenesete s te strani in vadite sami.
Izračun razdalje z zemljevidi Google-Maps.xlsmUporaba uporabniško opredeljene funkcije za izračun razdalje v Excelu z Google Maps
Tukaj bomo ugotovite razdaljo med MacArthur Parkom in Jersey Cityjem s pomočjo Googlovih zemljevidov.
Najprej moramo vedeti pomembno stvar. Za izračun razdalje v Excelu z uporabo Googlovih zemljevidov bomo potrebovali API ključ. API pomeni Vmesnik za programiranje aplikacij . program Excel se poveže z Google Maps z uporabo ključa API za zbiranje zahtevanih podatkov. Nekateri zemljevidi zagotavljajo brezplačne ključe API, na primer Bing Maps. Google Maps pa ne zagotavlja brezplačnega API. Čeprav nekako upravljate brezplačni API, ta ne bo deloval popolnoma. Zato boste morali kupiti API ključ s te povezave.
Tukaj mi je uspelo brezplačno API ključ. Ne deluje pravilno, uporabljen je le za prikaz kot primer. Uporabili bomo VBA za ustvarjanje uporabniško opredeljena funkcija z imenom Izračunati_oddaljenost na . ugotovite razdaljo ima tri argumente. Začetno mesto , Destinacija in Ključ API . Zdaj začnimo postopke.
Koraki:
- Pritisnite ALT + F11 da odprete Okno VBA .
- Nato kliknite, kot sledi: Vstavljanje> Modul za ustvarjanje novega modula.
- Kasneje v okno vnesite naslednje kode.
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 (compatible; 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
- Potem nič, samo vrnite se na svoj list.
Razčlenitev kode:
- Najprej sem uporabil postopek javne funkcije Izračunati_razdaljo .
- Nato razglasi nekaj spremenljivk prva_vrednost, druga_vrednost in zadnja_vrednost za argumente naše uporabniško definirane funkcije.
- Nastavite vrednosti spremenljivk (vsaka vrednost je samopopisna) in nastavite mitHTTP predmet v StrežnikXMLHTTP za uporabo GET (uporabljena kasneje, ta lastnost predmeta bo omogočila uporabo POST tudi metoda).
- Url je kombinacija vseh prej določenih vrednosti, lastnost open mitHTTP predmet ga je uporabljal.
- Po dodelitvi vrednosti knjižnica opravi preostali del izračuna.
Zdaj vidite, da je naša funkcija pripravljena za uporabo.
- Na spletnem mestu Celica C8 , vnesite naslednjo formulo-
= Izračunati_razdaljo(C4,C5,C6)
- Na koncu pritisnite gumb VSTOP za pridobitev razdalje. Prikazala se bo razdalja v polju Enota merilnika .
Preberite več: Kako izračunati razdaljo med dvema naslovoma v Excelu
Prednosti in slabosti pri izračunavanju razdalje z Google Maps
- Imeti morate veljavno Ključ API .
- Zgornja koda bo dala izhod v Enota merilnika .
- Uporabniško opredeljena funkcija neposredno uporablja imena krajev, zato ji ni treba uporabljati koordinat.
- Prepričajte se, da ste uporabili veljavno mesto.
Prednosti in slabosti izračunavanja razdalje z Google Maps
Prednosti
- Za veliko število mest je to povsem izvedljivo, saj lahko uporabimo Ročaj za polnjenje orodje za kopiranje formule. To ni mogoče v Google Zemljevidi
- To je precej hitrejši način.
- Koordinat ni treba uporabljati.
Slabosti
- Ne more delovati s koordinatami.
- Ne boste dobili zemljevida ali poti, ampak le razdaljo.
- Pri približnem ujemanju krajevnih imen ne bo delovalo.
Zaključek
Upam, da bodo zgoraj opisani postopki dovolj dobri za izračun razdalje v Excelu z Google Maps. Vabljeni, da postavite kakršno koli vprašanje v razdelku za komentarje in mi prosim sporočite povratne informacije. ExcelWIKI da bi raziskali več.