Turinys
"Microsoft Excel" yra labai universali skaičiuoklės programa. Ji siūlo atlikti tokias įvairias užduotis, kad net neįsivaizduojate. Su "Excel" galite net apskaičiuoti atstumą tarp dviejų adresų. Jei turite adresų sąrašą ir norite rasti skirtumą tarp jų, žinoma, galite naudoti "MS Excel". Atstumą taip pat galite apskaičiuoti rankiniu būdu. Tačiau tai užims per daug laiko. Kadangi turiteapskaičiuoti šimtus tūkstančių atstumų. Taigi šiame straipsnyje parodysiu, kaip "Excel" programa apskaičiuoti atstumą tarp dviejų adresų.
Atsisiųsti praktikos sąsiuvinį
Galite atsisiųsti "Excel" failą iš toliau pateiktos nuorodos ir praktikuotis kartu su juo.
Apskaičiuoti atstumą tarp dviejų adresų.xlsm2 veiksmingi būdai apskaičiuoti atstumą tarp dviejų adresų "Excel" programoje
1. Trigonometrinių funkcijų naudojimas važiavimo atstumui apskaičiuoti
Čia parodysiu, kaip derinti skirtingus trigonometrinės funkcijos apskaičiuoti atstumą tarp dviejų adresų "Excel" programoje.
Pateiksiu pavyzdį: paėmiau du adresus. Pirmasis adresas yra MacArthur Park, Camden NSW, Australija . Jo geografinė platuma ir ilguma yra 34.06312149 ir -118.2783975 Antrasis adresas atitinkamai yra Džersis Sitis, Naujasis Džersis, JAV . Jo geografinė platuma ir ilguma yra 40.71799929 ir -74.04276812 atitinkamai.
Dabar sujungsiu ACOS , COS , SIN , & amp; & RADIANS funkcijos, kad sukurtumėte formulę. Pagal šią formulę bus veiksmingai apskaičiuojamas važiavimo atstumas tarp dviejų adresų myliomis.
Dėl to,
❶ Pasirinkite langelį D8 pirma.
❷ Tada į ląstelę įterpkite šią formulę.
=ACOS(COS(RADIANS(90-C6)) *COS(RADIANS(90-C5)) +SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) * COS(RADIANS(D6-D5))) *3959
❸ Po to paspauskite ĮVESKITE mygtuką.
Dabar pamatysite, kad formulė apskaičiavo važiavimo atstumą tarp MacArthur Park, Camden NSW, Australija, ir Džersis Sitis, Naujasis Džersis, JAV myliomis. Taigi, rezultatą matysite ląstelėje D8 kuris yra 2445.270922 mylios.
Formulės suskirstymas
- COS(RADIANS(90-C6)) *COS(RADIANS(90-C5)) - ... RADIANS funkcijos paverčia vertes į radiano ir COS funkcija pateikia verčių kosinusą, tada platumos kosinusai padauginami. Išėjimas - 0.365377540842758
- COS(RADIANS(D6-D5)) - pateikia dviejų adresų ilgumos skirtumo kosinuso vertę. Išėjimas - 0.716476936499882
- SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) - apskaičiuoja ilgio nuokrypį nuo 90 radianų ir padaugina sinusines vertes. Išėjimas - 0.627884682513118
- SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) *COS(RADIANS(D6-D5)) - tampa 0,627884682513118 * 0,716476936499882. Išėjimas - 0.449864893802199
- COS(RADIANS(90-C6)) *COS(RADIANS(90-C5)) +SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) *COS(RADIANS(D6-D5)) - tampa 0,365377540842758 * 0,449864893802199. Išėjimas - 0.815242434644958
- Tada ACOS funkcija arccosines reikšmę. Išėjimas - 0.617648629071256
- Galiausiai, padauginę vertę iš 3959 - 0.617648629071256 *3959 pateikia rezultatą myliomis. Išėjimas - 2445.270922
Skaityti daugiau: Kaip "Excel" programoje apskaičiuoti mylių atstumą tarp dviejų adresų (2 metodai)
2. Apskaičiuokite atstumą tarp dviejų adresų naudodami VBA kodą
Šiame skyriuje naudosiu VBA kodą, kad sukurtumėte vartotojo apibrėžtą funkciją. Tada tą funkciją naudosiu "Excel" programoje apskaičiuodamas važiavimo atstumą tarp dviejų adresų.
Čia naudoju du adresus. Pirmasis adresas yra MacArthur Park, Camden NSW, Australija . Jo geografinė platuma ir ilguma yra 34.06312149 ir -118.2783975 Antrasis adresas atitinkamai yra Džersis Sitis, Naujasis Džersis, JAV . Jo geografinė platuma ir ilguma yra 40.71799929 ir -74.04276812 atitinkamai.
Tuo metu sukursiu kiekvieno adreso koordinates. Koordinatė yra platumos ir ilgumos derinys. Norėdami sukurti koordinatę,
- Pirmiausia įveskite adreso platumą.
- Tada padėkite kablelį.
- Po to įveskite to paties adreso ilgumą.
Taigi pirmojo adreso koordinatė yra 34.0631214903094,-118.27839753751 . O antrojo adreso koordinatė yra 40.7179992930381,-74.0427681204225 .
Svetainė VBA kodas reikalauja API žemėlapyje, kad apskaičiuotų nuvažiuojamą atstumą. API reiškia taikomųjų programų sąsają. API prijungti arba "Google" žemėlapis arba "Bing" žemėlapis kaip jums patogiau.
Tačiau kuriant "Google" žemėlapio API mokama. Priešingai, galite sukurti API iš "Bing" žemėlapis nemokamai.
Taigi, aš naudoju "Bing" žemėlapio API čia.
- Norėdami sukurti nemokamą "Bing" žemėlapio API , Spauskite čia .
Sukūriau API . Aš pridedu API žemiau:
AhFG0hk5nKCcQlk80MRaSk1ZtoYUYsX98BCLWi7p7MKZ-VrzOWptdUwsvj9D3L9F
Dabar laikas rašyti VBA kodas. Dėl to,
- Paspauskite ALT + F11 atidaryti VBA redaktorius .
- Dabar eikite į Įdėkite ➤ Modulis atidaryti naują modulį.
Atidarius VBA redaktorius , įterpti šį tekstą VBA kodas atidarytame modulyje.
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) End Function
Kodo suskirstymas
- Čia sukūriau vartotojo apibrėžtą funkciją, pavadintą Atstumas važiuojant.
- Tada naudojau 3 parametrus: pradžios vieta , paskirties vieta , ir rakto reikšmė. Tai yra dviejų adresų padėtis ir API atitinkamai vertė.
- Tada naudojau kelis kintamuosius, pvz. First_Value , Antroji_vertė , Last_value , mitHTTP , & amp; & mitUrl. Šie kintamieji naudojami įvairioms reikšmėms saugoti.
- Tada sujungkite vertes (saugomas mitUrl ) ir naudojo keletą objektų metodų ( Atviras , SetRequestHeader , Siųsti ). Taip man pavyko apskaičiuoti važiavimo atstumą per API .
Šis VBA kodas sukuria vartotojo apibrėžtą funkciją, vadinamą Driving_Distance .
Funkcija Driving_Distance reikia 3 argumentai iš viso.
Čia pateikiama bendra sintaksė Driving_Distance funkcija.
=Važiavimo_atstumas(Pradžios_vietos_koordinatė,Galutinės_vietos_koordinatė, API)
Dabar metas taikyti naudotojo apibrėžtą funkciją. Tam,
- Pasirinkite langelį E10 .
- Tada įterpkite šią formulę:
=Važiavimo atstumas(E5,E6,C8)
- Dabar paspauskite ĮVESKITE .
Formulės suskirstymas
- E5 yra Start_Location_Coordinate .
- E6 yra End_Location_Coordinate .
- C8 yra API iš "Bing" žemėlapis .
Funkcija apskaičiuoja važiavimo atstumą tarp dviejų adresų myliomis. E10 . Jis pamatys numerį, 2790 .
Taigi atstumas tarp MacArthur Park, Camden NSW, Australija, ir Džersis Sitis, Naujasis Džersis, JAV yra . 2790 mylios.
Skaityti daugiau: Kaip apskaičiuoti atstumą tarp dviejų adresų "Excel" programoje (3 būdai)
Praktikos skyrius
Pateikto "Excel" failo pabaigoje gausite "Excel" lapą, panašų į toliau pateiktą ekrano nuotrauką, kuriame galėsite praktiškai išbandyti visus šiame straipsnyje aptartus metodus.
Išvada
Apibendrinant, aptariau 2 būdus, kaip apskaičiuoti atstumą tarp dviejų adresų "Excel" programoje. Ir nedvejodami užduokite bet kokius klausimus toliau pateiktame komentarų skyriuje. Mes pasistengsime kuo greičiau atsakyti į visas svarbias užklausas. Ir apsilankykite mūsų svetainėje Exceldemy daugiau sužinoti.