Kaip apskaičiuoti atstumą tarp dviejų adresų "Excel" programoje (3 būdai)

  • Pasidalinti
Hugh West

Straipsnyje bus parodyta, kaip apskaičiuoti atstumas tarp dviejų adresų "Excel" programoje. "Microsoft Excel" turi šią puikią specialią funkciją ir formulę, skirtą atstumo nustatymas tarp dviejų pasaulio vietų. Jei turite GPS koordinatės iš dviejų vietų, galite lengvai nustatyti atstumą tarp šių vietų. bet kokiu norimu vienetu.

Atsisiųsti praktikos sąsiuvinį

Atstumo tarp dviejų adresų apskaičiavimas.xlsm

3 būdai, kaip "Excel" apskaičiuoti atstumą tarp dviejų adresų

Mūsų duomenų rinkinyje Platuma ir Ilguma svetainėje Ohajas ir Aliaska . Išmatuosime atstumą tarp jų.

Svetainė Platumos svetainėje Ohajas ir Aliaska yra 40.4173 Šiaurės ir 64.2008 m. šiaurė Taip pat atitinkamai Ilgumos svetainėje Ohajas ir Aliaska yra 82.9071 į vakarus ir 149.4937 Vakarai atitinkamai.

1. Haversino formulės naudojimas atstumui tarp dviejų adresų apskaičiuoti

Jei gerai mokate matematiką, naudodami Haversino formulė jums puikiai tiks. Nors ji pateiks apytikslį rezultatą, jis yra gana geras.

Pirmiausia turime žinoti pagrindinė lanko ilgio formulė . Ir naudodamiesi šia formule, palyginkime ją su atstumu tarp dviejų vietų Žemėje. Toliau pateikiama formulė.

S = rθ

S = atstumas tarp dviejų adresų

r = Žemės spindulys

θ = kampas, kurį Žemės centre sudaro du adresai

Tačiau jei turite GPS koordinatės iš dviejų vietų, reikia nustatyti iš Haversino formulė . Pažvelkite į Haversino formulė parodyta toliau.

Jei palygintumėte tai su lanko ilgio formulė , gausite kaip šiame paveikslėlyje.

Supažindinsime jus su parametrais Haversino formulė .

φ 1 = Pirmosios vietos geografinė platuma

φ 2 = Antrosios vietos geografinė platuma

1 = Pirmosios vietos ilguma

2 = Antrosios vietos geografinė platuma

Dabar žingsnis po žingsnio parodysiu, kaip šią formulę taikyti "Excel" programoje.

Žingsniai:

  • Pirmiausia sukurkite ląstelę atstumo vertei saugoti ir ląstelėje įveskite šią formulę C8 .

=2*6400*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

Formulėje naudojama ASIN , SQRT , SIN ir COS funkcijos Tai labai paprasta, jei tik pažvelgsite į Haversino formulė . Atstumą matuojame kilometrai , todėl Žemės spindulys kilometrais yra 6400 km . ASIN reiškia, kad atvirkštinis sinusas arba ArcSine Jei palyginsime parametrų kampus Haversino formulė naudodami "Excel" formulę, gausime,

1 = Ohajo platuma (C5)

2 = Aliaskos platuma (C6)

1 = Ohajo ilguma (D5)

2 = Aliaskos platuma (D6)

  • Po to paspauskite ĮVESKITE mygtuką, kad pamatytumėte atstumą tarp Ohajas ir Aliaska svetainėje Kilometrai .

  • Vėliau, jei norite išmatuoti atstumą myliomis , ląstelėje naudokite šią formulę C8 .

=2*3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

Čia naudojome tą pačią "Excel" formulę, kurią naudojome atstumui rasti mylios Dėl šios priežasties Žemės spindulį laikome mylios kuris yra 3959 .

Taigi galite apskaičiuoti atstumas tarp dviejų žemės adresų "Excel" programoje taikant Haversino formulė .

Skaityti daugiau: Kaip apskaičiuoti atstumą tarp dviejų koordinačių programoje "Excel" (2 metodai)

2. "Excel" CONCATENATE ir SUBSTITUTE funkcijų taikymas atstumui tarp dviejų adresų apskaičiuoti

Galite sukurti "Google" žemėlapis nuorodą, kad rastumėte atstumas tarp dviejų adresų naudojant "Excel CONCATENATE ir SUBSTITUTAS Funkcijos . Toliau aprašykite šį procesą.

Žingsniai:

  • Pirmiausia įveskite šią formulę C8 .

=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=", SUBSTITUTE(B5," ", "+"),"&daddr=",SUBSTITUTE(B6," ", "+"))

Ši formulė sukurs "Google" žemėlapis nuorodą, kaip galite keliauti iš Ohajas į Aliaska . CONCATENATE funkcija pridės adresai nuorodoje ir SUBSTITUTAS funkcija įrašys pavadinimą adresai .

  • Tada paspauskite ĮVESKITE mygtuką ir pamatysite "Google" žemėlapis nuoroda C8 .

  • Po to naudokite šį nuoroda į interneto paieškos juostą ir gausite atstumas informacijos apie šiuos du adresai .

Galiausiai galite apskaičiuoti atstumas tarp dviejų žemės adresų "Excel" programoje taikant CONCATENATE ir SUBSTITUTAS funkcijos.

Skaityti daugiau: Kaip apskaičiuoti atstumą tarp dviejų miestų programoje "Excel

3. VBA naudojimas atstumui tarp dviejų adresų apskaičiuoti "Excel" programoje

Kitas būdas apskaičiuoti atstumas tarp dviejų adresų gali būti API ( Taikomosios programos sąsaja ) nuorodą ir naudojant ją sukurti Naudotojo apibrėžta funkcija pagal VBA . Galite padaryti API nuoroda Bing nemokamai. "Bing" žemėlapis savo API raktą, Spauskite čia .

Žingsniai:

  • Pirmiausia eikite į Kūrėjas >> "Visual Basic .

  • Po to pasirinkite Įdėkite >> Modulis atidaryti VBA modulis .

  • Vėliau įveskite šį kodą į VBA modulis . Mes kuriame Naudotojo apibrėžta funkcija apskaičiuoti atstumas svetainėje mylios .
 Option Explicit Public Function DistanceInMiles(First_Location As String, _ Final_Location As String, Target_Value As String) Dim Initial_Point As String, Ending_Point As String, _ Distance_Unit As String, Setup_HTTP As Object, Output_Url As String Initial_Point = "//dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins=" Ending_Point = "&destinations=" Distance_Unit ="&travelMode=driving&o=xml&key=" & Target_Value & "&distanceUnit=mi" Set Setup_HTTP = CreateObject("MSXML2.ServerXMLHTTP") Output_Url = Initial_Point & First_Location & Ending_Point & Final_Location & Distance_Unit Setup_HTTP.Open "GET", Output_Url, False Setup_HTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"Setup_HTTP.Send ("") DistanceInMiles = Round(Round(WorksheetFunction.FilterXML(Setup_HTTP.ResponseText, _ "//TravelDistance"), 3), 0) End Function 

Kodo paaiškinimas

  • Pirmiausia pavadinome savo Funkcija kaip DistanceInMiles Mes taip pat įterpėme 3 parametrai: First_Location As String, Final_Location As String ir Target_Value As String .
  • Po to paskelbėme Initial_Point , Ending_Point , Atstumo_vienetas ir Outout_Url kaip Stygos ; Setup_HTTP kaip Objektas .
  • Vėliau nustatėme Initial_Point kaip pradžia URL nuoroda , Ending_Point kaip Paskirties vieta ir Atstumo_vienetas į Miles .
  • Po to nustatome reikiamus parametrus, kad sukurtume ryšį tarp mūsų VBA kodą ir API
  • Galiausiai nustatėme savo Naudotojo apibrėžta funkcija .
  • Po to, laikydamiesi tų pačių procedūrų, atlikome dar vieną Naudotojo apibrėžta funkcija rasti atstumą kilometrai .

Galite matyti, kad mes tiesiog pakeitėme Atstumo_vienetas į kilometrai .

  • Toliau pateiktame paveikslėlyje matote API ląstelės raktas C8 .

  • Po to ląstelėje įveskite šią formulę C8 .

=Atstumas myliose(E5,E6,C8)

  • Tada paspauskite ĮVESKITE mygtuką ir pamatysite atstumas tarp Ohajas ir Aliaska svetainėje mylios .

  • Po to naudokite šią formulę, kad pamatytumėte atstumas svetainėje kilometras .

=AtstumasInKM(E5,E6,C8)

Taigi galite apskaičiuoti atstumas tarp dviejų adresų naudojant VBA ir API raktas.

Skaityti daugiau: Kaip apskaičiuoti atstumą tarp dviejų adresų "Excel" programoje

Dalykai, kuriuos reikia prisiminti

  • Turėkite tai omenyje, turite įdėti maždaug teisingą GPS koordinatės šių valstybės duomenyse, nes atstumui nustatyti naudojate internetą. Kadangi valstybės yra vakarų į Meridiano linija , abu jų Ilgumos bus neigiamas.

Praktikos skyrius

Šiame skyriuje pateiksiu šio straipsnio duomenų rinkinį, kad galėtumėte patys praktiškai išbandyti šiuos metodus.

Išvada

Pakanka pasakyti, kad išmoksite labai veiksmingų metodų, kaip apskaičiuoti atstumas tarp dviejų adresų "Excel" programoje perskaitę šį straipsnį. Jei turite geresnių metodų, klausimų ar atsiliepimų apie šį straipsnį, pasidalykite jais komentarų laukelyje. Tai padės man praturtinti būsimus straipsnius. Norėdami gauti daugiau klausimų, maloniai prašome apsilankyti mūsų svetainėje ExcelWIKI.com .

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.