Cum se calculează distanța de conducere între două adrese în Excel

  • Imparte Asta
Hugh West

Microsoft Excel este un program de foaie de calcul foarte versatil. Acesta oferă posibilitatea de a face o gamă atât de largă de sarcini încât nici nu vă puteți imagina. Puteți calcula chiar și distanța de parcurs între două adrese în Excel. Dacă aveți o listă de adrese pentru a găsi diferența dintre ele, puteți folosi, desigur, MS Excel. Puteți calcula, de asemenea, distanța manual. Dar acest lucru va consuma prea mult timp. Pe măsură ce avețisute de mii de distanțe de calculat. Astfel, în acest articol, vă voi arăta cum să calculați distanța de parcurs între două adrese în Excel.

Descărcați caietul de practică

Puteți descărca fișierul Excel de la următorul link și puteți exersa împreună cu el.

Calculați distanța de conducere între două adrese.xlsm

2 moduri eficiente de a calcula distanța de conducere între două adrese în Excel

1. Utilizarea funcțiilor trigonometrice pentru a calcula distanța parcursă cu mașina

Aici, vă voi arăta cum să combinați diferite funcții trigonometrice pentru a calcula distanța de parcurs între două adrese în Excel.

Ca să vă dau un exemplu, am luat două adrese. Prima adresă este MacArthur Park, Camden NSW, Australia Latitudinea și longitudinea sa sunt 34.06312149 și -118.2783975 A doua adresă este Jersey City, New Jersey, Statele Unite ale Americii Latitudinea și longitudinea sa sunt 40.71799929 și -74.04276812 respectiv.

Acum, voi combina ACOS , COS , SIN , & RADIANS pentru a crea o formulă. Formula va calcula efectiv distanța în mile dintre două adrese.

Pentru asta,

❶ Selectați celula D8 prima.

❷ Apoi introduceți următoarea formulă în celulă.

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

❸ După aceea, apăsați butonul ENTER buton.

Acum, veți vedea că formula a calculat distanța de deplasare dintre MacArthur Park, Camden NSW, Australia, și Jersey City, New Jersey, Statele Unite ale Americii în mile. Astfel, veți vedea rezultatul în celula D8 care este 2445.270922 mile.

Repartizarea formulei

  • COS(RADIANI(90-C6)) *COS(RADIANI(90-C5)) - de la RADIANS convertesc valorile în radiani, iar funcțiile COS furnizează cosinusul valorilor, cosinusurile pentru latitudine se înmulțesc apoi. Ieșire - 0.365377540842758
  • COS(RADIANI(D6-D5)) - furnizează valoarea cosinusului pentru diferența de longitudine dintre cele două adrese. Ieșire - 0.716476936499882
  • SIN(RADIANI(90-C6)) *SIN(RADIANI(90-C5)) - calculează abaterea longitudinilor de la 90 de radiani și înmulțește valorile sinusoidale. Ieșire - 0.627884682513118
  • SIN(RADIANI(90-C6)) *SIN(RADIANI(90-C5)) *COS(RADIANI(D6-D5)) - devine 0,627884682513118 * 0,716476936499882. Ieșire - 0.449864893802199
  • COS(RADIANI(90-C6)) *COS(RADIANI(90-C5)) +SIN(RADIANI(90-C6)) *SIN(RADIANI(90-C5)) *COS(RADIANI(D6-D5)) - devine 0,365377540842758 * 0,449864893802199. Ieșire - 0.815242434644958
  • Apoi, se va face ACOS funcția arccosines valoarea. Ieșire - 0.617648629071256
  • În cele din urmă, înmulțind valoarea cu 3959 - 0.617648629071256 *3959 oferă rezultatul în mile. Ieșire - 2445.270922

Citește mai mult: Cum se calculează milele dintre două adrese în Excel (2 metode)

2. Calculați distanța de deplasare între două adrese folosind codul VBA

În această secțiune, voi folosi un VBA pentru a crea o funcție definită de utilizator. Apoi, voi utiliza această funcție pentru a calcula distanța de parcurs între două adrese în Excel.

Aici, folosesc două adrese. Prima adresă este MacArthur Park, Camden NSW, Australia Latitudinea și longitudinea sa sunt 34.06312149 și -118.2783975 A doua adresă este Jersey City, New Jersey, Statele Unite ale Americii Latitudinea și longitudinea sa sunt 40.71799929 și -74.04276812 respectiv.

La voi genera coordonate pentru fiecare dintre adrese. O coordonată este o combinație de latitudine și longitudine. Pentru a genera o coordonată,

  • Introduceți mai întâi latitudinea unei adrese.
  • Apoi introduceți o virgulă.
  • După aceea, introduceți longitudinea aceleiași adrese.

Astfel, coordonatele primei adrese sunt 34.0631214903094,-118.27839753751 Iar coordonatele celei de-a doua adrese sunt 40.7179992930381,-74.0427681204225 .

The VBA codul necesită un API unei hărți pentru a calcula distanța de deplasare. API este acronimul de la Application Programming Interface (interfață de programare a aplicațiilor). Puteți utiliza un API pentru a conecta fie Harta Google sau Harta Bing orice preferi.

Dar crearea Google Map API este plătit. Dimpotrivă, se poate crea un cont de tip API a Bing MAP în mod gratuit.

Astfel, eu folosesc Bing MAP API aici.

  • Pentru a crea un cont gratuit Bing MAP API , click aici .

Am creat un API . am atașat API mai jos:

AhFG0hk5nKCcQlk80MRaSk1ZtoYUYsX98BCLWi7p7MKZ-VrzOWptdUwsvj9D3L9F

Acum, este timpul să scrieți VBA Pentru asta,

  • Presa ALT + F11 pentru a deschide fereastra Editor VBA .
  • Acum mergeți la Introduceți Modul pentru a deschide un nou modul.

După ce a fost deschis Editor VBA , se introduce următorul text VBA în modulul deschis.

 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.virtualarth.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 (compatibil; MSIE 6.0; Windows NT 5.0)" mitHTTP.Send (""") Driving_Distance =Round(Round(WorksheetFunction.FilterXML(mitHTTP.ResponseText, "//TravelDistance"), 3), 0) End Function 

Defalcarea codului

  • Aici, am creat o funcție definită de utilizator numită Driving_Distance.
  • Apoi am folosit 3 parametri: startlocation , destinație , și valoare cheie. Acestea sunt poziția celor două adrese și a API respectiv valoarea.
  • Apoi am folosit mai multe variabile, cum ar fi Prima_valoare , A doua_valoare , Ultima_valoare , mitHTTP , & mitUrl. Aceste variabile sunt utilizate pentru a stoca diferite valori.
  • Apoi a combinat valorile (stocate în mitUrl ) și a folosit mai multe metode obiect ( Deschideți , SetRequestHeader , Trimiteți ). iată cum am reușit să calculez distanța de deplasare prin API .

Acest VBA generează o funcție definită de utilizator numită Distanța de conducere .

Funcția Distanța de conducere necesită 3 argumente în total.

Iată sintaxa generică a fișierului Distanța de conducere funcție.

=Driving_Distance(Coordonată_locație_de_început,Coordonată_locație_finală, API)

Acum, este timpul să aplicăm funcția definită de utilizator. Pentru aceasta,

  • Selectați celula E10 .
  • Apoi introduceți următoarea formulă:
=Driving_Distance(E5,E6,C8)

  • Acum, apăsați ENTER .

Repartizarea formulei

  • E5 este Coordonata_locației_de_început .
  • E6 este End_Location_Coordinate .
  • C8 este API a Bing MAP .

Funcția calculează distanța în mile între două adrese. Consultați celula E10 Va vedea numărul, 2790 .

Deci, distanța de conducere între MacArthur Park, Camden NSW, Australia, și Jersey City, New Jersey, Statele Unite ale Americii este 2790 mile.

Citește mai mult: Cum se calculează distanța dintre două adrese în Excel (3 moduri)

Secțiunea practică

La sfârșitul fișierului Excel furnizat veți obține o foaie Excel ca în următoarea captură de ecran, unde puteți exersa toate metodele discutate în acest articol.

Concluzie

Pentru a rezuma, am discutat 2 moduri de a calcula distanța de conducere între două adrese în Excel. Și nu ezitați să puneți întrebări în secțiunea de comentarii de mai jos. Vom încerca să răspundem la toate întrebările relevante cât mai curând posibil. Și vă rugăm să vizitați site-ul nostru web Exceldemy pentru a explora mai mult.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.