Come calcolare la distanza in auto tra due indirizzi in Excel

  • Condividi Questo
Hugh West

Microsoft Excel è un programma di fogli di calcolo molto versatile, che offre una gamma di funzioni talmente ampia da non poter essere nemmeno immaginata. In Excel si può persino calcolare la distanza in auto tra due indirizzi. Se si dispone di un elenco di indirizzi e si vuole trovare la differenza tra di essi, si può ovviamente utilizzare MS Excel. Si può anche calcolare la distanza manualmente, ma questo richiederebbe troppo tempo. Poiché si haIn questo articolo vi mostrerò come calcolare la distanza in auto tra due indirizzi in Excel.

Scarica il quaderno di esercizi

Potete scaricare il file Excel dal seguente link ed esercitarvi con esso.

Calcolo della distanza di guida tra due indirizzi.xlsm

2 modi efficaci per calcolare la distanza in auto tra due indirizzi in Excel

1. Uso delle funzioni trigonometriche per calcolare la distanza di guida

Qui vi mostrerò come combinare diversi funzioni trigonometriche per calcolare la distanza in auto tra due indirizzi in Excel.

Per fare un esempio, ho preso due indirizzi. Il primo indirizzo è MacArthur Park, Camden NSW, Australia La sua latitudine e longitudine sono 34.06312149 e -118.2783975 Il secondo indirizzo è Jersey City, New Jersey, USA La sua latitudine e longitudine sono 40.71799929 e -74.04276812 rispettivamente.

Ora, combinerò le ACOS , COS , SIN , & RADIANTI per creare una formula che calcola la distanza in auto tra due indirizzi in miglia.

Per questo,

❶ Selezionare la cella D8 prima.

❷ Quindi inserire la seguente formula nella cella.

=ACOS(COS(RADIANTI(90-C6)) *COS(RADIANTI(90-C5)) +SIN(RADIANTI(90-C6)) *SIN(RADIANTI(90-C5)) * COS(RADIANTI(D6-D5))) *3959

❸ Dopodiché, premere il tasto ENTRARE pulsante.

Ora, si noterà che la formula ha calcolato la distanza di guida tra il punto di partenza e il punto di arrivo. MacArthur Park, Camden NSW, Australia, e Jersey City, New Jersey, USA in miglia. Pertanto, si vedrà il risultato nella cella D8 che è 2445.270922 chilometri.

Ripartizione della formula

  • COS(RADIANTI(90-C6)) *COS(RADIANTI(90-C5)) - il RADIANTI convertono i valori in radianti e le funzioni COS fornisce il coseno dei valori; i coseni per la latitudine vengono quindi moltiplicati. Uscita - 0.365377540842758
  • COS(RADIANTI(D6-D5)) - fornisce il valore del coseno della differenza di longitudine tra i due indirizzi. Uscita - 0.716476936499882
  • SIN(RADIANTI(90-C6)) *SIN(RADIANTI(90-C5)) - calcola la deviazione delle longitudini da 90 radianti e moltiplica i valori del seno. Uscita - 0.627884682513118
  • SIN(RADIANTI(90-C6)) *SIN(RADIANTI(90-C5)) *COS(RADIANTI(D6-D5)) - diventa 0,627884682513118 * 0,716476936499882. Uscita - 0.449864893802199
  • COS(RADIANTI(90-C6)) *COS(RADIANTI(90-C5)) +SIN(RADIANTI(90-C6)) *SIN(RADIANTI(90-C5)) *COS(RADIANTI(D6-D5)) - diventa 0,365377540842758 * 0,449864893802199. Uscita - 0.815242434644958
  • Poi il ACOS la funzione arccosina il valore. Uscita - 0.617648629071256
  • Infine, moltiplicando il valore per 3959 - 0.617648629071256 *3959 fornisce il risultato in miglia. Uscita - 2445.270922

Per saperne di più: Come calcolare le miglia tra due indirizzi in Excel (2 metodi)

2. Calcolare la distanza di guida tra due indirizzi utilizzando il codice VBA

In questa sezione, utilizzerò un VBA per creare una funzione definita dall'utente, che poi utilizzerò per calcolare la distanza in auto tra due indirizzi in Excel.

Qui si utilizzano due indirizzi: il primo indirizzo è MacArthur Park, Camden NSW, Australia La sua latitudine e longitudine sono 34.06312149 e -118.2783975 Il secondo indirizzo è Jersey City, New Jersey, USA La sua latitudine e longitudine sono 40.71799929 e -74.04276812 rispettivamente.

Per ogni indirizzo genererò delle coordinate. Una coordinata è una combinazione di latitudine e longitudine. Per generare una coordinata,

  • Digitare prima la latitudine di un indirizzo.
  • Quindi inserire una virgola.
  • Successivamente, digitate la longitudine dello stesso indirizzo.

Quindi la coordinata del primo indirizzo è 34.0631214903094,-118.27839753751 E la coordinata del secondo indirizzo è 40.7179992930381,-74.0427681204225 .

Il VBA codice richiede un API di una mappa per calcolare la distanza da percorrere. API è l'acronimo di Application Programming Interface (Interfaccia di programmazione dell'applicazione). È possibile utilizzare un'interfaccia API per collegare il Mappa di Google o il Mappa Bing quello che preferite.

Ma la creazione del API di Google Map è pagato. Al contrario, è possibile creare un oggetto API del MAPPA Bing gratuitamente.

Pertanto, sto usando il metodo API Bing MAP qui.

  • Per creare un sito gratuito API Bing MAP , clicca qui .

Ho creato un API . allego il API di seguito:

AhFG0hk5nKCcQlk80MRaSk1ZtoYUYsX98BCLWi7p7MKZ-VrzOWptdUwsvj9D3L9F

Ora è il momento di scrivere il file VBA codice. Per questo,

  • Stampa ALT + F11 per aprire il Editor VBA .
  • Ora andate a Inserire Modulo per aprire un nuovo modulo.

Dopo aver aperto il Editor VBA inserire quanto segue VBA nel modulo aperto.

 Option Explicit Public Function Driving_Distance(startlocation As String, destination As String, keyvalue As String) Dim First_Value As String, Second_Value As String, Last_Value As String, mitHTTP As Object, mitUrl As String First_Value = "//dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins=" Second_Value = "&destinations=" Last_Value = "&travelMode=driving&o=xml&key="& keyvalue & "&distanceUnit=mi" Set mitHTTP = CreateObject("MSXML2.ServerXMLHTTP") mitUrl = First_Value & startlocation & Second_Value & destination & Last_Value mitHTTP.Open "GET", mitUrl, False mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" mitHTTP.Send ("") Driving_Distance =Round(Round(WorksheetFunction.FilterXML(mitHTTP.ResponseText, "//TravelDistance"), 3), 0) Fine funzione 

Ripartizione del codice

  • Qui, ho creato una funzione definita dall'utente chiamata Distanza di guida.
  • Poi ho utilizzato 3 parametri: posizione iniziale , destinazione , e valore-chiave. Si tratta della posizione dei due indirizzi e del API rispettivamente.
  • Poi ho usato diverse variabili, come Primo_valore , Secondo_valore , Ultimo_valore , mitHTTP , & mitUrl. Queste variabili vengono utilizzate per memorizzare diversi valori.
  • Quindi ha combinato i valori (memorizzati all'interno di mitUrl ) e ha utilizzato diversi metodi di oggetti ( Aperto , ImpostaIndirizzoRichiesta , Inviare ). In questo modo sono riuscito a calcolare la distanza di guida attraverso il API .

Questo VBA Il codice genera una funzione definita dall'utente chiamata Distanza di guida .

La funzione Distanza di guida richiede 3 argomenti in totale.

Ecco la sintassi generica del metodo Distanza di guida funzione.

=Distanza di guida(Coordinata_di_inizio_luogo,Coordinata_di_termine, API)

Ora è il momento di applicare la funzione definita dall'utente. Per questo,

  • Selezionare la cella E10 .
  • Inserire quindi la seguente formula:
=Distanza di guida(E5,E6,C8)

  • Ora, premere ENTRARE .

Ripartizione della formula

  • E5 è il Coordinata_di_localizzazione_iniziale .
  • E6 è il Coordinata_di_localizzazione_finale .
  • C8 è il API del MAPPA Bing .

La funzione calcola la distanza in auto tra due indirizzi, espressa in miglia, e consente di verificare la cella E10 . vedrà il numero, 2790 .

Quindi la distanza di guida tra MacArthur Park, Camden NSW, Australia, e Jersey City, New Jersey, USA è 2790 chilometri.

Per saperne di più: Come calcolare la distanza tra due indirizzi in Excel (3 modi)

Sezione pratica

Alla fine del file Excel fornito, si otterrà un foglio Excel come la seguente schermata, in cui è possibile mettere in pratica tutti i metodi discussi in questo articolo.

Conclusione

Per riassumere, ho discusso 2 modi per calcolare la distanza di guida tra due indirizzi in Excel. Non esitate a porre qualsiasi domanda nella sezione dei commenti qui sotto. Cercheremo di rispondere a tutte le domande pertinenti nel più breve tempo possibile. E visitate il nostro sito web Exceldemy per saperne di più.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.