Kuinka laskea kahden kaupungin välinen etäisyys Excelissa

  • Jaa Tämä
Hugh West

Seuraavia käyttötarkoituksia on useita Excel . Siisti erikoisfunktio ja -kaava Microsoft Excel voi määrittää kahden tietyn kaupungin tai paikan välisen etäisyyden maapallolla. On ratkaisevan tärkeää, että pystytään määrittämään laskea etäisyys minkä tahansa kahden kartalla olevan paikan välillä. Sen avulla voit laskea todellisen etäisyyden ja saat kunnollisen arvion siitä, kuinka kauan matkasi kestää. Excelin avulla voimme kuitenkin tehdä sen helposti. Tässä artikkelissa esittelemme useita tapoja laskea kahden kaupungin välinen etäisyys Excelissä.

Lataa harjoituskirja

Voit ladata työkirjan ja harjoitella niiden avulla.

Laske etäisyys kahden kaupungin välillä.xlsm

Tietokokonaisuuden esittely

Kahden kaupungin välisen etäisyyden laskemiseksi on ensin valmisteltava tietokokonaisuus. Oletetaan, että meillä on kaksi kaupunkia. Los Angeles joka on suuri kaupunki osavaltiossa Kalifornia ja Pasco joka on kaupungin Washington Nyt meidän on löydettävä niiden välinen etäisyys. Tätä varten meidän on tiedettävä, että Leveysaste ja pituusaste Voimme yksinkertaisesti löytää minkä tahansa kaupungin leveys- ja pituusasteen Excelillä. Katsotaanpa, miten se onnistuu.

VAIHEET:

  • Valitse ensin solu, johon laitamme kaupunkien nimet. Meidän tapauksessamme valitsemme solut seuraavasti B5 ja B6 .
  • Toiseksi, mene osoitteeseen Tiedot välilehti nauhasta.
  • Kolmanneksi Tietotyypit luokka klikkaa Maantiede .

  • Valitse sitten leveysasteen löytämiseksi solu, johon laitoit leveysasteen, ja kirjoita kaava sinne.
=B5.Latitude

  • Paina Kirjoita nähdäksesi tuloksen.

  • Vastaavasti löydetään solun leveysaste. B6 .
  • Jos haluat löytää pituusasteen ja leveysasteen, valitse solu ja laita siihen seuraava kaava.
=B5.Longitude

  • Paina Kirjoita näppäintä näppäimistölläsi.

  • Vastaavasti saadaan B6 pituuspiiri noudattamalla aiempia vaiheita.
  • Siinä kaikki, nyt meillä on molempien kaupunkien leveys- ja pituusasteet. Tietoaineistomme on nyt valmis käytettäväksi.

5 erilaista menetelmää kahden kaupungin välisen etäisyyden laskemiseksi Excelissä

Kahden paikan välisen etäisyyden selvittämisen avulla voimme sitten määrittää kahden asunnon välisen etäisyyden. Voimme tämän tiedon avulla arvioida, kuinka kauan meiltä kestää matkustaa asuntojen välillä. Kahden kaupungin välisen etäisyyden selvittämiseen käytämme edellä mainittua tietokokonaisuutta, jonka olemme juuri tehneet.

1. Sovelletaan Haversinen kaavaa kahden kaupungin välisen etäisyyden laskemiseen.

Yksi valtamerten tutkimisen perusyhtälöistä on yhtälön Haversine-kaava , jolla voidaan laskea kahden pallotasolla sijaitsevan paikan välinen etäisyys, kunhan määritetään niiden leveys- ja pituusasteet sekä pallonpuoliskon säde. GPS Seurataan vaiheita, joiden avulla kaavaa käytetään kahden kaupungin välisen etäisyyden laskemiseen.

ASKELEET:

  • Valitse aluksi solu, josta haluat saada etäisyyden, joten valitsemme solun C8 .
  • Laita sitten Haversine-kaava kyseiseen valittuun soluun.
=3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

  • Paina lopuksi Kirjoita näppäintä nähdäksesi tuloksen.

  • Kaavaa käyttämällä saadaan siis tulos seuraavasti 1367.581282 .

Lue lisää: Kuinka laskea kahden osoitteen välinen ajomatka Excelissä?

2. Kahden kaupungin välisen etäisyyden laskeminen Excelin ACOS-, SIN-, COS- ja RADIANS-funktioiden avulla

Arvon käänteiskosinus on se, mitä ACOS-toiminto Kulman sini radiaaneina palautetaan seuraavalla funktiolla. Excelin SIN-funktio Kulman kosinus radiaaneina palautetaan seuraavalla kaavalla. COS-toiminto Säteet muutetaan asteiksi käyttämällä Excelin RADIANS-toiminto Voimme yhdistää nämä funktiot saadaksemme kahden kaupungin välisen etäisyyden. Se on myös periaatteessa automatisoitu käyttämällä GPS laitteita. Sovelletaan näiden funktioiden yhdistelmää kahden kaupungin välisen etäisyyden saamiseksi käymällä läpi vaiheet.

ASKELEET:

  • Valitse ensin solu, johon etäisyys halutaan määrittää; tässä tapauksessa valitsemme solun C8 .
  • Lisää sen jälkeen funktion kaavan yhdistelmä valittuun soluun.
=ACOS(COS(RADIAANI(90-C5)) *COS(RADIAANI(90-C6)) +SIN(RADIAANI(90-C5)) *SIN(RADIAANI(90-C6)) *COS(RADIAANI(D5-D6))) *6371

  • Voit tarkastella tulosta painamalla Kirjoita näppäin aivan lopussa.

  • Näin ollen kaavaa soveltamalla saadaan seuraava luku: - - - - - - - - - - - - - - - - - - - - -. 1357.033633 .

Lue lisää: Kuinka laskea kahden GPS-koordinaatin välinen etäisyys Excelissä?

3. Yhdistä Excelin CONCATENATE- ja SUBSTITUTE-toiminnot kahden kaupungin välisen etäisyyden saamiseksi.

Jos haluat yhdistää kaksi tai jopa useampia sanasarjoja yhdeksi lauseeksi, käytä komentoa tekstifunktio CONCATENATE . suunnilleen kolmekymmentä tekstikappaleet voidaan yhdistää Excelin CONCATENATE funktio, joka palauttaa tuloksen tekstinä. SUBSTITUTE-toiminto excelissä käyttää vertailua muokatakseen tekstiä määritetyssä merkkijonossa. Voimme yhdistää nämä kaksi funktiota luodaksemme Google Map linkki löytääksesi kahden osoitteen välinen etäisyys käyttämällä. Käytetään kaavaa kahden kaupungin välisen etäisyyden määrittämiseksi käymällä läpi vaiheet.

VAIHEET:

  • Samoin edellisessä menetelmässä valitaan solu, johon halutaan hankkia tiedot. Google Map ; tässä tapauksessa valitsemme solun C8 .
  • Kirjoita sitten kaava valittuun soluun.

=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=",

SUBSTITUTE(B5," ", "+"),"&daddr=",SUBSTITUTE(B6," ", "+")))

  • Voit näyttää tulokset painamalla Kirjoita avain.

Tämän kaavan avulla voit linkittää linkin Google Map joka näyttää reitin Los Angeles osoitteeseen Pasco Kaupungit lisätään linkkiin käyttämällä komentoa CONCATENATE funktiolla, ja kaupunkien nimet lisätään käyttämällä funktiota SIJAINEN toiminto.

  • Kirjoita tämän jälkeen tämä linkki selaimesi hakukenttään, niin saat selville, kuinka kaukana nämä kaksi kaupunkia ovat toisistaan.

The CONCATENATE ja SIJAINEN funktioita voidaan käyttää Excelissä myös kahden maapallon kaupungin välisen etäisyyden määrittämiseen.

Lue lisää: Kuinka laskea mailit kahden osoitteen välillä Excelissä (2 menetelmää)

4. Luo LAMBDA-funktio kahden kaupungin välisen etäisyyden laskemiseksi.

LAMBDA-toiminto Excelissä käytetään räätälöityjen funktioiden luomiseen, joita voidaan hyödyntää koko työarkissa ja käyttää tuttujen nimien avulla. Kun funktio on määritelty ja sille on annettu nimi, voimme käyttää sitä missä tahansa työkirjassa.

Etäisyyden pääyhtälö on:

D = acos (sinΦ 1 . sinΦ 2 + cosΦ 1 . cosΦ 2 cos Δλ) . R

Vaikka se saattaa vaikuttaa hieman ylivoimaiselta, meille tärkeimpiä ovat seuraavat panokset:

  • Lähtöpisteen leveys- ja pituusaste.
  • Lopullisen sijainnin leveys- ja pituusaste.

Kaavassa tai yhtälössä.

  • Δλ ilmaisee pituuspiirien välisen eron ( lon_2-lon_1 ).
  • Φ 1 ja Φ 2 osoittavat peräkkäin lat_1 ja lat_2 .
  • R ilmaisee pinnan säteen.

Luodaan LAMBDA funktiolla voit laskea kahden kaupungin välisen etäisyyden noudattamalla alla olevia ohjeita.

ASKELEET:

  • Valitse ensin solu C8 .
  • Laita lisäksi kaava kyseiseen soluun.
=LAMBDA(_lat1, _lon1, _lat2, _lon2, LET(lat_1, RADIANS(_lat1),lon_1, RADIANS(_lon1),lat_2,RADIANS(_lat2),lon_2, RADIANS(_lon2),r, 6378,ACOS((SIN(lat_1) * SIN(lat_2)) + (COS(lat_1) * COS(lat_2) * COS(lon_2-lon_1))) * r)))(C5,D5,C6,D6)

  • Paina sitten Kirjoita .

  • Tämä näyttää tuloksen, mutta kaava on liian suuri ja sitä voi olla vaikea ymmärtää, kun sitä käytetään monta kertaa.
  • Sen sijaan voimme luoda räätälöidyn kaavan käyttämällä komentoa LAMBDA toiminto.
  • Mene tätä varten osoitteeseen Kaavat välilehti nauhasta.
  • Under the Määritellyt nimet ryhmää, klikkaa Nimi Manager .

  • Tämä näyttää Nimi Manager valintaikkuna.
  • Napsauta nyt Uusi valikko.

  • Tämä vie sinut Uusi nimi ikkuna.
  • Nimeä kaava, sillä haluamme laskea kahden kaupungin välisen etäisyyden, joten laitamme kaavan nimen. CityDistance .
  • Laita sitten seuraava kaava kenttään kenttään Viittaa .

=LAMBDA(_lat1, _lon1, _lat2, _lon2, LET(lat_1, RADIANS(_lat1),lon_1, RADIANS(_lon1),lat_2,RADIANS(_lat2),lon_2, RADIANS(_lon2),r, 6378,ACOS((SIN(lat_1) * SIN(lat_2)) + (COS(lat_1) * COS(lat_2) * COS(lon_2-lon_1))) * r))))

  • Napsauta sitten OK .

  • Tämä vie sinut nimi Manager vuoropuhelu uudelleen.
  • Lisäksi napsauta painiketta Sulje painiketta saadaksesi prosessin päätökseen.

  • Nyt voit löytää uuden mukautetun toiminnon CityDistance Ja käyttämällä funktiota saat kahden kaupungin välisen etäisyyden.

  • Näin ollen kaavaa soveltamalla saadaan seuraava luku 1358.524645 .

Lue lisää: Levenshteinin etäisyyden laskeminen Excelissä (4 helppoa menetelmää)

5. Kahden kaupungin välisen etäisyyden laskeminen Excel VBA:n avulla

Making an API ( Sovellusohjelmointirajapinta ) yhteys ja hyödyntää sitä rakentaakseen Käyttäjän määrittelemä toiminto VBA:ssa ovat kaksi muuta tapaa määrittää kahden sijainnin välinen etäisyys. Excel kerää sijaintitietoja keräämällä Excelin kautta API mihin tahansa karttaan, mukaan lukien Google Map ja Bing-kartta Jotta tätä tekniikkaa voidaan käyttää, meidän on ensin määritettävä API Se on todella yksinkertaista, mutta valitettavasti vain - Bing-kartta tarjoaa ilmaisen API , ei Google. Osoitamme tämän tavan käyttämällä ilmaista Bing Map API avain. Klikkaa tästä luoda oman Bing Map API-avain .

VAIHEET:

  • Aluksi olemme luoneet API näppäin ja sijoitti sen soluun C8 .

  • Mene nyt osoitteeseen Kehittäjä välilehti nauhasta.
  • Sitten, alkaen Koodi luokkaan, klikkaa Visual Basic avataksesi Visual Basic Editor . tai paina Alt + F11 avataksesi Visual Basic Editor .

  • Sen sijaan voit vain klikkaa hiiren oikealla työarkkiin ja siirry osoitteeseen Näytä koodi Tämä vie sinut myös Visual Basic Editor .

  • Tämä näkyy Visual Basic Editor .
  • Klikkaa lisäksi Moduuli alkaen Lisää pudotusvalikkopalkki.

  • Tämä luo Moduuli työkirjassasi.
  • Kopioi ja liitä VBA-koodi alla.

VBA-koodi:

 Option Explicit Public Function CityDistance(First_City As String, Second_City 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=km" Set Setup_HTTP = CreateObject("MSXML2.ServerXMLHTTP") Output_Url = Alkupiste & Ensimmäinen_kaupunki & Päätepiste & Toinen_kaupunki & Etäisyys_Yksikkö Setup_HTTP.Open "GET", Output_Url, False Setup_HTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (yhteensopiva; MSIE 6.0; Windows NT 5.0)" Setup_HTTP.Send("") CityDistance = Round(Round(WorksheetFunction.FilterXML(Setup_HTTP.ResponseText, _ "//TravelDistance")), 3), 0) End Function 
  • Tallenna koodi tallentamalla koko työkirja mikroyhteensopivaksi työkirjaksi, jolloin laajennus on muotoa .xlsm .

  • Tämä luo käyttäjän määrittelemän funktion nimen CityDistance .

VBA-koodin selitys

  • Aloitimme antamalla Toiminto nimi CityDistance . Ensimmäinen kaupunki As String, Toinen kaupunki As String, ja Tavoitearvo As String oli myös argumenttina.
  • Sitten ilmoitimme Setup HTTP objektina ja Alkupiste , Loppupiste , Etäisyys Yksikkö ja Ulostulo Url jousina.
  • Myöhemmin muutimme Etäisyys Yksikkö osoitteeseen kilometri ja Alkupiste alkupisteeseen Url linkki.
  • Seuraavaksi asetamme parametrit, joita tarvitaan yhteyden muodostamiseksi meidän VBA-koodi ja API .
  • Tämän jälkeen loimme Käyttäjän määrittelemä toiminto .

Päätelmä

Edellä mainitut menetelmät auttavat sinua Laske etäisyys kahden kaupungin välillä Excelissä Toivottavasti tämä auttaa sinua! Kerro meille kommenttiosioon, jos sinulla on kysyttävää, ehdotuksia tai palautetta. Tai voit vilkaista muita artikkeleitamme osoitteessa ExcelWIKI.com blogi!

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.