Obsah
Excel má širokú škálu aplikácií. VBA potom sa zdá, že v Exceli môžeme robiť, čo chceme. Takže samozrejme, môžeme nájsť vzdialenosť medzi miestami pomocou mapy v programe Excel. V tomto článku uvediem rýchly návod na výpočet vzdialenosti v programe Excel s mapami Google s ostrými krokmi a jasnými ilustráciami.
Stiahnite si cvičebnicu
Bezplatný zošit programu Excel si môžete stiahnuť odtiaľto a precvičiť si ho sami.
Výpočet vzdialenosti pomocou Google-Maps.xlsmPoužívanie funkcie definovanej používateľom na výpočet vzdialenosti v programe Excel s mapami Google
Tu budeme zistiť vzdialenosť medzi MacArthur Parkom a Jersey City pomocou Google Maps.
Najprv musíme vedieť dôležitú vec. Na výpočet vzdialenosti v programe Excel pomocou Mapy Google budeme potrebovať API kľúč. API znamená Rozhranie na programovanie aplikácií . aplikácia Excel sa spája s Mapami Google pomocou kľúča API na zhromažďovanie požadovaných údajov. Niektoré mapy poskytujú kľúče API zadarmo, ako napríklad Bing Maps. Mapy Google však neposkytujú bezplatné API. Aj keď sa vám podarí nejakým spôsobom získať bezplatné API, ktoré nebude fungovať dokonale. Takže si budete musieť kúpiť API kľúč z tohto odkazu.
Tu sa mi podarilo zadarmo API Nefunguje správne, len sa používa na ukážku ako príklad. Použijeme VBA vytvoriť používateľom definovaná funkcia s názvom Vypočítať_vzdialenosť na zistiť vzdialenosť . Bude mať tri argumenty - Východiskové miesto , Cieľová destinácia a Kľúč API Teraz začneme s postupmi.
Kroky:
- Tlač ALT + F11 otvoriť Okno VBA .
- Potom kliknite na nasledujúce položky: Vložiť> Modul na vytvorenie nového modulu.
- Neskôr zadajte do okna nasledujúce kódy.
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, """vzdialenosť"" : {"") = 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
- Potom už nič, len sa vráťte k svojmu listu.
Rozdelenie kódu:
- Najprv som použil procedúru Public Function Vypočítať_vzdialenosť .
- Potom vyhlásil niektoré premenné prvá_hodnota, druhá_hodnota a posledná_hodnota pre argumenty našej užívateľsky definovanej funkcie.
- Nastavte hodnoty premenných (každá hodnota je samostatne popisná) a nastavte mitHTTP objekt v ServerXMLHTTP využívať GET (používaná neskôr, táto vlastnosť objektu umožní používať POST aj metóda).
- Url je kombináciou všetkých predtým nastavených hodnôt, vlastnosť open mitHTTP objekt ho používa.
- Po priradení hodnôt vykoná zvyšok výpočtu knižničná funkcia.
Teraz vidíte, že naša funkcia je pripravená na použitie.
- Na stránke Bunka C8 , zadajte tento vzorec-
=Výpočet_vzdialenosti(C4,C5,C6)
- Nakoniec stačí stlačiť tlačidlo VSTÚPIŤ Tlačidlo na získanie vzdialenosti. Zobrazí sa vzdialenosť v Meracia jednotka .
Prečítajte si viac: Ako vypočítať vzdialenosť medzi dvoma adresami v programe Excel
Výhody a nevýhody pri výpočte vzdialenosti pomocou služby Google Maps
- Musíte mať platné Kľúč API .
- Vyššie uvedený kód poskytne výstup v Meracia jednotka .
- Funkcia definovaná používateľom používa priamo názvy miest, nie je potrebné používať súradnice.
- Uistite sa, že ste použili platné miesto.
Výhody a nevýhody výpočtu vzdialenosti pomocou služby Google Maps
Výhody
- Pre niekoľko veľkých miest je to celkom možné, pretože môžeme použiť Rukoväť náplne nástroj na kopírovanie vzorca. To nie je možné v Mapy Google
- Je to celkom rýchly spôsob.
- Nie je potrebné používať súradnice.
Nevýhody
- Nemôže pracovať so súradnicami.
- Nezískate mapu ani trasu, iba vzdialenosť.
- Pri približnej zhode názvov miest to nebude fungovať.
Záver
Dúfam, že vyššie opísané postupy budú dostatočne dobré na výpočet vzdialenosti v programe Excel s mapami Google. Neváhajte položiť akúkoľvek otázku v časti s komentármi a prosím, dajte mi spätnú väzbu. ExcelWIKI preskúmať viac.