Sommario
Excel ha un'ampia gamma di applicazioni e, mentre si utilizza VBA allora sembra che si possa fare tutto quello che si vuole in Excel. Quindi, ovviamente, possiamo trovare la distanza tra i luoghi In questo articolo mostrerò una guida rapida per calcolare la distanza in Excel con Google Maps, con passaggi precisi e illustrazioni chiare.
Scarica il quaderno di esercizi
Potete scaricare la cartella di lavoro Excel gratuita da qui ed esercitarvi da soli.
Calcolo della distanza con Google-Maps.xlsmUtilizzo di una funzione definita dall'utente per calcolare la distanza in Excel con Google Maps
Qui, ci trovare la distanza tra MacArthur Park e Jersey City utilizzando Google Maps.
Per calcolare la distanza in Excel utilizzando Google Maps, abbiamo bisogno di un file API chiave. API sta per Interfaccia di programmazione dell'applicazione Excel si collega a Google Maps utilizzando la chiave API per raccogliere i dati richiesti. Alcune mappe forniscono chiavi API gratuite, come Bing Maps, ma Google Maps non fornisce API gratuite. Anche se si gestisce un'API gratuita, in qualche modo non funzionerà perfettamente. Quindi, è necessario acquistare la chiave API. API da questo link.
Qui, ho gestito un'area libera API Il tasto non funziona correttamente, ma è solo un esempio. Useremo VBA per creare un funzione definita dall'utente denominato Calcolo della distanza a trovare la distanza Avrà tre argomenti. Luogo di partenza , Destinazione , e Chiave API Ora iniziamo le procedure.
Passi:
- Stampa ALT + F11 per aprire il Finestra VBA .
- Quindi, fare clic come segue: Inserire> Modulo per creare un nuovo modulo.
- Successivamente, digitare i seguenti codici nella finestra.
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 = """valore"".*?([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
- Allora niente, tornate al vostro foglio.
Ripartizione del codice:
- Per prima cosa, ho utilizzato una procedura di funzione pubblica Calcolo della distanza .
- Poi ha dichiarato alcune variabili primo_valore, secondo_valore e ultimo_valore per gli argomenti della nostra funzione definita dall'utente.
- Impostare i valori delle variabili (ogni valore è autodescrittivo) e impostare il parametro mitHTTP oggetto in ServerXMLHTTP per utilizzare il GET (utilizzato in seguito, questa proprietà dell'oggetto consentirà di utilizzare il metodo POSTA anche il metodo).
- Url è la combinazione di tutti i valori impostati in precedenza, la proprietà open del file mitHTTP oggetto utilizzato.
- Dopo aver assegnato i valori, la funzione di libreria esegue il resto del calcolo.
Ora la nostra funzione è pronta per essere utilizzata.
- In Cellula C8 , digitare la seguente formula
=Calcolo della distanza(C4,C5,C6)
- Infine, è sufficiente premere il tasto ENTRARE per ottenere la distanza. La distanza viene visualizzata nel campo Unità di misura .
Per saperne di più: Come calcolare la distanza in auto tra due indirizzi in Excel
Pro e contro del calcolo della distanza con Google Maps
- È necessario essere in possesso di un documento valido Chiave API .
- Il codice sopra riportato fornirà l'output nel campo Unità di misura .
- La funzione definita dall'utente utilizza direttamente i nomi dei luoghi, senza bisogno di utilizzare le coordinate.
- Assicuratevi di aver utilizzato un luogo valido.
Vantaggi e svantaggi del calcolo della distanza con Google Maps
Vantaggi
- Per un paio di posti numerosi, è abbastanza fattibile perché si può utilizzare il metodo Maniglia di riempimento per copiare la formula. Questo non è possibile in Google Maps
- È un modo piuttosto veloce.
- Non è necessario utilizzare le coordinate.
Svantaggi
- Non può funzionare con le coordinate.
- Non si ottiene la mappa o il percorso, ma solo la distanza.
- Non funzionerà con la corrispondenza approssimativa dei nomi dei luoghi.
Conclusione
Spero che le procedure descritte sopra siano abbastanza valide per calcolare la distanza in Excel con Google Maps. Sentitevi liberi di fare qualsiasi domanda nella sezione dei commenti e per favore datemi un feedback. Visita ExcelWIKI per saperne di più.