Jak vypočítat vzdálenost mezi dvěma městy v aplikaci Excel

  • Sdílet Toto
Hugh West

Existuje několik způsobů použití Excel Speciální funkce a vzorec v Microsoft Excel může určit vzdálenost mezi dvěma konkrétními městy nebo místy na planetě. Je velmi důležité, aby bylo možné určit vzdálenost mezi dvěma městy nebo místy na planetě. vypočítat vzdálenost mezi libovolnými dvěma místy na mapě. Umožní vám vypočítat skutečnou vzdálenost a poskytne vám slušný odhad, jak dlouho vám bude cesta trvat. S pomocí Excelu to však můžeme udělat snadno. V tomto článku si ukážeme několik způsobů, jak v Excelu vypočítat vzdálenost mezi dvěma městy.

Stáhnout cvičebnici

Můžete si stáhnout pracovní sešit a procvičovat s nimi.

Výpočet vzdálenosti mezi dvěma městy.xlsm

Úvod k datové sadě

Abychom mohli vypočítat vzdálenost mezi dvěma městy, musíme nejprve připravit soubor dat. Předpokládejme, že máme dvě města. Los Angeles které je velkým městem ve státě Kalifornie a Pasco což je město Washington Nyní potřebujeme zjistit vzdálenost mezi nimi. K tomu musíme znát hodnotu zeměpisná šířka a zeměpisná délka obou měst. Pomocí programu Excel můžeme jednoduše zjistit zeměpisnou šířku a délku libovolného města. Podívejme se, jak to můžeme udělat.

KROKY:

  • Nejprve vyberte buňku, do které jsme vložili název měst. V našem případě vybereme buňky B5 a B6 .
  • Za druhé, přejděte na Data z pásu karet.
  • Za třetí, v Datové typy kategorie klikněte na Zeměpis .

  • Chcete-li pak zjistit zeměpisnou šířku, vyberte buňku, do které jste vložili zeměpisnou šířku, a zadejte do ní vzorec.
=B5.Latitude

  • Tisk Vstupte na abyste viděli výsledek.

  • Podobně zjistíme zeměpisnou šířku buňky B6 .
  • Chcete-li nyní zjistit zeměpisnou délku a také šířku, vyberte buňku a vložte do ní následující vzorec.
=B5.Longitude

  • Stiskněte tlačítko Vstupte na na klávesnici.

  • Podobně dostaneme B6 délky podle předchozích kroků.
  • To je vše, nyní máme zeměpisnou šířku a délku obou měst. Naše datová sada je tedy připravena k použití.

5 různých metod výpočtu vzdálenosti mezi dvěma městy v aplikaci Excel

Zjištění vzdálenosti mezi dvěma místy nám pak umožní určit vzdálenost mezi dvěma obydlími. Na základě této informace můžeme odhadnout, jak dlouho nám bude trvat cesta mezi obydlími. Pro zjištění vzdálenosti mezi dvěma městy použijeme výše uvedený soubor dat, který jsme právě vytvořili.

1. Použijte Haversinův vzorec pro výpočet vzdálenosti mezi dvěma městy

Jednou ze základních rovnic pro průzkum oceánů je rovnice Vzorec Haversine , který lze použít k výpočtu vzdálenosti mezi dvěma místy v kulové rovině, pokud určíte jejich zeměpisnou šířku a délku a také poloměr polokoule. GPS zařízení v podstatě zautomatizovali. Postupujme podle kroků, které slouží k použití vzorce pro výpočet vzdálenosti mezi dvěma městy.

KROKY:

  • Na začátku vyberte buňku, ve které chcete získat vzdálenost, takže vybereme buňku C8 .
  • Pak vložte Vzorec Haversine do vybrané buňky.
=3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

  • Nakonec stiskněte tlačítko Vstupte na a zobrazí se výsledek.

  • Pomocí vzorce tedy získáme výsledek 1367.581282 .

Další informace: Jak vypočítat dojezdovou vzdálenost mezi dvěma adresami v aplikaci Excel

2. Výpočet vzdálenosti mezi dvěma městy pomocí funkcí Excel ACOS, SIN, COS a RADIANS

Převrácený kosinus hodnoty je to. funkce ACOS vrátí. Sinus úhlu v radiánech se vrací příkazem funkce SIN aplikace Excel . Kosinus úhlu v radiánech se vrací pomocí příkazu funkce COS . Radiány se mění na stupně pomocí funkce Excel RADIANS . Tyto funkce můžeme zkombinovat a získat vzdálenost mezi dvěma městy. Také byla v podstatě automatizována pomocí GPS zařízení. Použijme kombinaci těchto funkcí a získejme vzdálenost mezi dvěma městy pomocí jednotlivých kroků.

KROKY:

  • V první řadě vyberte buňku, ve které chcete získat vzdálenost; v tomto případě vybereme buňku. C8 .
  • Poté vložte kombinaci vzorce funkce do vybrané buňky.
=ACOS(COS(RADIANS(90-C5)) *COS(RADIANS(90-C6)) +SIN(RADIANS(90-C5)) *SIN(RADIANS(90-C6)) *COS(RADIANS(D5-D6))) *6371

  • Chcete-li zobrazit výsledek, stiskněte tlačítko Vstupte na na samém konci.

  • Dosazením vzorce tedy získáme číslo. 1357.033633 .

Přečtěte si více: Jak vypočítat vzdálenost mezi dvěma souřadnicemi GPS v aplikaci Excel

3. Kombinace funkcí Excel CONCATENATE a SUBSTITUTE pro získání vzdálenosti mezi dvěma městy

Chcete-li spojit dvě nebo i více sekvencí slov do jedné fráze, použijte následující příkaz textová funkce CONCATENATE . přibližně třicet textové části lze spojit pomocí aplikace Excel CONCATENATE která vrátí výsledek jako text. Funkce SUBSTITUTE excelu používá porovnávání k úpravě textu v zadaném řetězci. Tyto dvě funkce můžeme zkombinovat a vytvořit funkci Mapa Google odkaz na vyhledání vzdálenost mezi dvěma adresami použijeme vzorec pro určení vzdálenosti mezi dvěma městy.

KROKY:

  • Stejně tak v předchozí metodě vyberte buňku, ve které si přejete získat Mapa Google ; v tomto případě zvolíme buňku C8 .
  • Poté do vybrané buňky zadejte vzorec.

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

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

  • Chcete-li zobrazit výsledky, stiskněte tlačítko Vstupte na klíč.

Pomocí tohoto vzorce můžete odkazovat na Mapa Google který zobrazuje trasu z Los Angeles na Pasco . Města budou přidána do odkazu pomocí příkazu CONCATENATE a názvy měst budou přidány pomocí funkce SUBSTITUTE funkce.

  • Poté zadejte tento odkaz do vyhledávacího pole prohlížeče a zjistěte, jak daleko jsou tato dvě města od sebe vzdálena.

Na stránkách CONCATENATE a SUBSTITUTE funkce lze v Excelu použít také k určení vzdálenosti mezi dvěma městy na planetě.

Přečtěte si více: Jak vypočítat vzdálenost mezi dvěma adresami v aplikaci Excel (2 metody)

4. Vytvoření funkce LAMBDA pro výpočet vzdálenosti mezi dvěma městy

Funkce LAMBDA v Excelu slouží k vytváření vlastních funkcí, které lze využívat v celém listu a přistupovat k nim pomocí známých názvů. Jakmile je definujeme a pojmenujeme, můžeme tyto funkce používat kdekoli v sešitě.

Hlavní rovnice pro vzdálenost je:

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

I když se to může zdát trochu zdrcující, vstupy, na kterých nám záleží nejvíce, jsou:

  • Zeměpisná šířka a délka výchozího bodu.
  • Zeměpisná šířka a délka konečného umístění.

Takže ve vzorci nebo rovnici.

  • Δλ označuje rozdíl mezi zeměpisnými délkami ( lon_2-lon_1 ).
  • Φ 1 a Φ 2 postupně označují lat_1 a lat_2 .
  • R udává poloměr povrchu.

Vytvořme LAMBDA vypočítat vzdálenost mezi dvěma městy podle následujících kroků.

KROKY:

  • Nejprve vyberte buňku C8 .
  • Dále do této buňky vložte vzorec.
=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)

  • Pak stiskněte tlačítko Vstupte na .

  • Tím se zobrazí výsledek, ale vzorec je příliš velký a při opakovaném použití může být obtížné jej pochopit.
  • Místo toho můžeme vytvořit vlastní vzorec pomocí příkazu LAMBDA funkce.
  • Za tímto účelem přejděte na Vzorce z pásu karet.
  • V rámci Definované názvy klikněte na Jméno manažera .

  • Zobrazí se Jméno manažera dialogové okno.
  • Nyní klikněte na Nový menu.

  • Tím se dostanete do Nový název okno.
  • Dále vzorec pojmenujeme, protože chceme vypočítat vzdálenost mezi dvěma městy, a proto uvedeme název vzorce. CityDistance .
  • Pak do pole vložte následující vzorec Vztahuje se na .

=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)))

  • Poté klikněte na tlačítko OK .

  • Tím se dostanete do jméno Manažer opět dialog.
  • Dále klikněte na Zavřít dokončíte proces.

  • Nyní můžete najít novou vlastní funkci CityDistance . A pomocí funkce získáte vzdálenost mezi dvěma městy.

  • Dosazením vzorce tedy získáme číslo. 1358.524645 .

Přečtěte si více: Jak vypočítat Levenshteinovu vzdálenost v aplikaci Excel (4 snadné metody)

5. Výpočet vzdálenosti mezi dvěma městy pomocí aplikace Excel VBA

Vytvoření API ( Rozhraní pro programování aplikací ) a jeho využití k vytvoření Funkce definovaná uživatelem ve VBA jsou dva další způsoby, jak určit vzdálenost mezi dvěma místy. Chcete-li shromáždit údaje o místě, Excel se připojí prostřednictvím API na jakoukoli mapu, včetně Mapa Google a Mapa Bing . Proto, abychom mohli tuto techniku použít, musíme nejprve stanovit API To je opravdu jednoduché, ale bohužel pouze Mapa Bing nabízí zdarma API Tento způsob si ukážeme na využití bezplatného nástroje. Rozhraní API služby Bing Map klíč. Klikněte zde vytvořit si vlastní Klíč API služby Bing Map .

KROKY:

  • Pro začátek jsme vytvořili API a umístil ji na buňku C8 .

  • Nyní přejděte na Vývojář z pásu karet.
  • Pak z Kód klikněte na Visual Basic otevřít Editor jazyka Visual Basic . Nebo stiskněte Alt + F11 otevřít Editor jazyka Visual Basic .

  • Místo toho můžete klikněte pravým tlačítkem myši na na pracovním listu a přejděte na Zobrazit kód . Tím se také dostanete na Editor jazyka Visual Basic .

  • Zobrazí se v Editor jazyka Visual Basic .
  • Dále klikněte na Modul z Vložte v rozevírací nabídce.

  • Tím se vytvoří Modul v sešitě.
  • A zkopírujte a vložte Kód VBA uvedeno níže.

Kód VBA:

 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 = Initial_Point & First_City & Ending_Point & Second_City & 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("") CityDistance = Round(Round(WorksheetFunction.FilterXML(Setup_HTTP.ResponseText, _"//TravelDistance"), 3), 0) End Function 
  • Kód uložte tak, že celý sešit uložíte jako sešit s mikrosprávou a rozšíření bude .xlsm .

  • Tím se vytvoří uživatelsky definovaný název funkce CityDistance .

Vysvětlení kódu VBA

  • Začali jsme tím, že jsme Funkce jméno CityDistance . První město Jako řetězec, Druhé město jako řetězec a Cílová hodnota Jako argumenty byly uvedeny také řetězce.
  • Pak jsme prohlásili. Nastavení HTTP jako objekt a Počáteční bod , Koncový bod , Jednotka vzdálenosti a Výstupní URL jako řetězce.
  • Později jsme změnili Jednotka vzdálenosti na kilometr a Počáteční bod do výchozího bodu Url odkaz.
  • Dále nastavíme parametry potřebné k navázání spojení mezi naším Kód VBA a API .
  • Poté jsme vytvořili naši Funkce definovaná uživatelem .

Závěr

Výše uvedené metody vám pomohou Výpočet vzdálenosti mezi dvěma městy v aplikaci Excel . Doufám, že vám to pomůže! Dejte nám prosím vědět v sekci komentářů, pokud máte nějaké dotazy, návrhy nebo zpětnou vazbu. Nebo se můžete podívat na naše další články v sekci ExcelWIKI.com blog!

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.