Jak vypočítat vzdálenost mezi dvěma adresami v aplikaci Excel (3 způsoby)

  • Sdílet Toto
Hugh West

V článku se dozvíte, jak vypočítat vzdálenost mezi dvěma adresami v Excelu. Microsoft Excel má tuto skvělou speciální funkci a vzorec pro zjištění vzdálenosti mezi dvěma místy na světě. Pokud máte Souřadnice GPS dvou míst, můžete snadno určit vzdálenost mezi těmito místy v libovolné jednotce.

Stáhnout cvičebnici

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

3 způsoby výpočtu vzdálenosti mezi dvěma adresami v aplikaci Excel

V našem souboru dat máme Zeměpisná šířka a Zeměpisná délka pro Ohio a Aljaška . Změříme vzdálenost mezi nimi.

Na stránkách Zeměpisné šířky pro Ohio a Aljaška jsou 40.4173 Sever a 64.2008 Severní Také Zeměpisné délky pro Ohio a Aljaška jsou 82.9071 Západ a 149.4937 Západ resp.

1. Použití Haversinova vzorce pro výpočet vzdálenosti mezi dvěma adresami

Pokud jste dobří v matematice, můžete používat Vzorec Haversine bude pro vás ideální. I když vám poskytne přibližný výsledek, je to docela dobrý výsledek.

Nejprve musíme znát základní vzorec délky oblouku . A pomocí tohoto vzorce ji porovnáme se vzdáleností mezi dvěma místy na Zemi. Vzorec je uveden níže.

S = rθ

S = vzdálenost mezi dvěma adresami

r = poloměr Země

θ = úhel, který svírají obě adresy ve středu Země.

Ale pokud máte Souřadnice GPS ze dvou míst, je třeba určit z Vzorec Haversine Podívejte se na Vzorec Haversine uvedeno níže.

Když to porovnáte s vzorec pro délku oblouku , dostanete jako na následujícím obrázku.

Seznámíme vás s parametry nástroje Vzorec Haversine .

φ 1 = Zeměpisná šířka prvního místa

φ 2 = zeměpisná šířka druhého místa

1 = zeměpisná délka prvního místa

2 = zeměpisná šířka druhého místa

Nyní vám ukážu, jak tento vzorec použít v aplikaci Excel krok za krokem.

Kroky:

  • Nejprve vytvořte buňku pro uložení hodnoty vzdálenosti a do buňky zadejte následující vzorec C8 .

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

Vzorec používá ASIN , SQRT , SIN a COS funkce Je to jednoduché, když se podíváte na údaje o Vzorec Haversine Vzdálenost měříme v kilometry , takže poloměr Země v kilometrech, což je 6400 km . ASIN odkazuje na inverzní sinus nebo ArcSine Pokud porovnáme úhly parametrů Vzorec Haversine s naším vzorcem Excelu dostaneme,

1 = Zeměpisná šířka Ohia (C5)

2 = zeměpisná šířka Aljašky (C6)

1 = Zeměpisná délka Ohia (D5)

2 = zeměpisná šířka Aljašky (D6)

  • Poté stiskněte tlačítko ENTER zobrazit vzdálenost mezi Ohio a Aljaška na adrese Kilometry .

  • Poté, pokud chcete změřit vzdálenost v mílích , použijte následující vzorec v buňce C8 .

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

Zde jsme použili stejný vzorec aplikace Excel, který jsme použili pro zjištění vzdálenosti v. míle Z tohoto důvodu bereme poloměr Země v. míle což je 3959 .

Můžete tedy vypočítat vzdálenost mezi dvěma adresami země v aplikaci Excel pomocí příkazu Vzorec Haversine .

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

2. Použití funkcí CONCATENATE a SUBSTITUTE aplikace Excel k výpočtu vzdálenosti mezi dvěma adresami

Můžete vytvořit Mapa Google odkaz na vyhledání vzdálenost mezi dvěma adresami pomocí aplikace Excel CONCATENATE a SUBSTITUTE Funkce . Projděme si níže uvedený postup.

Kroky:

  • Nejprve zadejte následující vzorec C8 .

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

Tento vzorec vytvoří Mapa Google odkaz, jak můžete cestovat z Ohio na Aljaška . CONCATENATE přidá funkci adresy v odkazu a SUBSTITUTE funkce umístí název adresy .

  • Poté stiskněte tlačítko ENTER a zobrazí se tlačítko Mapa Google odkaz v C8 .

  • Poté použijte tento odkaz v internetovém vyhledávacím řádku a zobrazí se vám vzdálenost informace o těchto dvě adresy .

Nakonec můžete vypočítat vzdálenost mezi dvěma adresami země v aplikaci Excel použitím CONCATENATE a SUBSTITUTE funkce.

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

3. Použití VBA k výpočtu vzdálenosti mezi dvěma adresami v aplikaci Excel

Další způsob výpočtu vzdálenost mezi dvěma adresami může být vytvoření API ( Rozhraní pro programování aplikací ) a jeho použití k vytvoření Funkce definovaná uživatelem podle VBA . Můžete si vytvořit API odkaz v Bing zdarma. Mapa Bing vlastní klíč API, klikněte zde .

Kroky:

  • Nejprve přejděte na Vývojář >> Visual Basic .

  • Poté vyberte Vložte >> Modul otevřít Modul VBA .

  • Později zadejte následující kód do pole Modul VBA Vytváříme Funkce definovaná uživatelem vypočítat vzdálenost na adrese míle .
 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 

Vysvětlení kódu

  • Nejprve jsme pojmenovali naši Funkce jako DistanceInMiles . Vložili jsme také 3 parametry: First_Location As String, Final_Location As String a Target_Value As String .
  • Poté jsme prohlásili. Initial_Point , Ending_Point , Distance_Unit a Outout_Url jako Řetězec ; Setup_HTTP jako Objekt .
  • Později jsme nastavili Initial_Point jako počátek Odkaz na URL , Ending_Point jako Cílová destinace a Distance_Unit na Miles .
  • Poté nastavíme potřebné parametry pro vytvoření vztahu mezi naším VBA kód a API
  • Nakonec jsme stanovili naše Funkce definovaná uživatelem .
  • Poté jsme podle stejných postupů provedli další Funkce definovaná uživatelem zjistit vzdálenost v kilometry .

Vidíte, že jsme právě změnili Distance_Unit na kilometry .

  • Na následujícím obrázku vidíte. API klíč v buňce C8 .

  • Poté zadejte do buňky následující vzorec C8 .

=VzdálenostV mílích(E5,E6,C8)

  • Poté stiskněte tlačítko ENTER a zobrazí se tlačítko vzdálenost mezi Ohio a Aljaška na adrese míle .

  • Poté použijte následující vzorec, abyste zjistili. vzdálenost na adrese kilometr .

=VzdálenostVKM(E5,E6,C8)

Můžete tedy vypočítat vzdálenost mezi dvěma adresami pomocí VBA a API klíč.

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

Na co nezapomenout

  • Mějte na paměti, že je třeba dát přibližně správné Souřadnice GPS těchto uvádí v údajích, protože k zjištění vzdálenosti používáte internet. Jak se uvádí jsou západní na Linka Meridian Line , obě jejich Zeměpisné délky bude záporná.

Praktická část

V této části vám poskytnu datovou sadu tohoto článku, abyste si mohli tyto metody sami vyzkoušet.

Závěr

Stačí říci, že se naučíte velmi účinné metody, jak vypočítat vzdálenost mezi dvěma adresami v Excelu po přečtení tohoto článku. Pokud máte nějaké lepší metody nebo otázky či zpětnou vazbu týkající se tohoto článku, podělte se o ně v poli pro komentáře. Pomůže mi to obohatit mé další články. Pro další dotazy navštivte laskavě naše webové stránky. ExcelWIKI.com .

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.