Obsah
Microsoft Excel je velmi všestranný tabulkový procesor. Nabízí k provádění tak široké škály úkolů, že si to ani nedovedete představit. V Excelu můžete dokonce vypočítat dojezdovou vzdálenost mezi dvěma adresami. Pokud máte seznam adres, mezi kterými chcete zjistit rozdíl, můžete samozřejmě použít MS Excel. Vzdálenost můžete vypočítat i ručně. To však bude příliš časově náročné. Protože mátestovky tisíc vzdáleností k výpočtu. V tomto článku vám tedy ukážu, jak v Excelu vypočítat dojezdovou vzdálenost mezi dvěma adresami.
Stáhnout cvičebnici
Soubor Excel si můžete stáhnout z následujícího odkazu a procvičovat se podle něj.
Výpočet dojezdové vzdálenosti mezi dvěma adresami.xlsm2 efektivní způsoby výpočtu vzdálenosti mezi dvěma adresami v aplikaci Excel
1. Použití trigonometrických funkcí k výpočtu dojezdové vzdálenosti
Zde vám ukážu, jak kombinovat různé trigonometrické funkce vypočítat vzdálenost mezi dvěma adresami v aplikaci Excel.
Pro příklad jsem si vzal dvě adresy. První adresa je. MacArthur Park, Camden Nový Jižní Wales, Austrálie . Jeho zeměpisná šířka a délka jsou 34.06312149 a -118.2783975 Druhá adresa je Jersey City, New Jersey, Spojené státy americké . Jeho zeměpisná šířka a délka jsou 40.71799929 a -74.04276812 resp.
Nyní zkombinuji ACOS , COS , SIN , & RADIÁNI funkce pro vytvoření vzorce. Vzorec efektivně vypočítá vzdálenost mezi dvěma adresami v mílích.
Za tímto účelem,
❶ Vybrat buňku D8 první.
❷ Pak do buňky vložte následující vzorec.
=ACOS(COS(RADIANS(90-C6)) *COS(RADIANS(90-C5)) +SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) * COS(RADIANS(D6-D5)) *3959
❸ Poté stiskněte tlačítko ENTER tlačítko.
Nyní vidíte, že vzorec vypočítal dojezdovou vzdálenost mezi MacArthur Park, Camden, Nový Jižní Wales, Austrálie, a Jersey City, New Jersey, Spojené státy americké v mílích. Výsledek se tedy zobrazí v buňce D8 což je 2445.270922 mil.
Rozdělení vzorců
- COS(RADIANS(90-C6)) *COS(RADIANS(90-C5)) - ... RADIÁNI funkce převádí hodnoty na radiány a COS funkce poskytuje kosinus hodnot, kosinusy pro zeměpisnou šířku se pak násobí. Výstup - 0.365377540842758
- COS(RADIANS(D6-D5)) - poskytuje kosinusovou hodnotu rozdílu zeměpisných délek mezi oběma adresami. Výstup - 0.716476936499882
- SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) - vypočítá odklon délky od 90 radiánů a vynásobí sinusové hodnoty. Výstup - 0.627884682513118
- SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) *COS(RADIANS(D6-D5)) - je 0,627884682513118 * 0,716476936499882. Výstup - 0.449864893802199
- COS(RADIANS(90-C6)) *COS(RADIANS(90-C5)) +SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) *COS(RADIANS(D6-D5)) - je 0,365377540842758 * 0,449864893802199. Výstup - 0.815242434644958
- Pak se ACOS funkce arccosines hodnotu. Výstup - 0.617648629071256
- Nakonec se hodnota vynásobí 3959 - 0.617648629071256 *3959 poskytuje výsledek v mílích. Výstup - 2445.270922
Přečtěte si více: Jak vypočítat vzdálenost mezi dvěma adresami v aplikaci Excel (2 metody)
2. Výpočet vzdálenosti mezi dvěma adresami pomocí kódu VBA
V této části budu používat VBA kód k vytvoření uživatelsky definované funkce. Tuto funkci pak použiji k výpočtu dojezdové vzdálenosti mezi dvěma adresami v aplikaci Excel.
Zde používám dvě adresy. První adresa je MacArthur Park, Camden Nový Jižní Wales, Austrálie . Jeho zeměpisná šířka a délka jsou 34.06312149 a -118.2783975 Druhá adresa je Jersey City, New Jersey, Spojené státy americké . Jeho zeměpisná šířka a délka jsou 40.71799929 a -74.04276812 resp.
Na I vygeneruje souřadnice pro každou z adres. Souřadnice je kombinace zeměpisné šířky a délky. Chcete-li vygenerovat souřadnice,
- Nejprve zadejte zeměpisnou šířku adresy.
- Pak vložte čárku.
- Poté zadejte zeměpisnou délku téže adresy.
Souřadnice první adresy je tedy 34.0631214903094,-118.27839753751 A souřadnice druhé adresy je 40.7179992930381,-74.0427681204225 .
Na stránkách VBA kód vyžaduje API mapy pro výpočet dojezdové vzdálenosti. API je zkratka pro Application Programming Interface (rozhraní pro programování aplikací). API připojit buď Mapa Google nebo Mapa Bing podle toho, čemu dáváte přednost.
Ale vytvoření Rozhraní Google Map API je placený. Naopak, můžete vytvořit API o Bing MAPA zdarma.
Proto používám Rozhraní API služby Bing MAP zde.
- Vytvoření bezplatného Rozhraní API služby Bing MAP , klikněte zde .
Vytvořil jsem API . Přikládám API níže:
AhFG0hk5nKCcQlk80MRaSk1ZtoYUYsX98BCLWi7p7MKZ-VrzOWptdUwsvj9D3L9F
Nyní je čas napsat VBA kód. Za to,
- Tisk ALT + F11 otevřít Editor VBA .
- Nyní přejděte na Vložte ➤ Modul otevřít nový modul.
Po otevření Editor VBA , vložte následující text VBA kód v otevřeném modulu.
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
Rozdělení kódu
- Zde jsem vytvořil uživatelsky definovanou funkci s názvem Driving_Distance.
- Pak jsem použil 3 parametry: startlocation , destinace a hodnota klíče. Jedná se o polohu dvou adres a API respektive hodnotu.
- Pak jsem použil několik proměnných, jako např. First_Value , Second_Value , Last_value , mitHTTP , & mitUrl. Tyto proměnné slouží k ukládání různých hodnot.
- Poté zkombinujte hodnoty (uložené v rámci mitUrl ) a použil několik objektových metod ( Otevřít , SetRequestHeader , Odeslat ). Takto se mi podařilo vypočítat dojezdovou vzdálenost přes API .
Tento VBA kód generuje uživatelsky definovanou funkci s názvem Driving_Distance .
Funkce Driving_Distance vyžaduje 3 argumenty celkem.
Zde je obecná syntaxe příkazu Driving_Distance funkce.
=Driving_Distance(Start_Location_Coordinate,End_Location_Coordinate, API)
Nyní je čas použít uživatelsky definovanou funkci. Za tímto účelem,
- Vybrat buňku E10 .
- Pak vložte následující vzorec:
=Driving_Distance(E5,E6,C8)
- Nyní stiskněte ENTER .
Rozdělení vzorců
- E5 je Start_Location_Coordinate .
- E6 je End_Location_Coordinate .
- C8 je API o Bing MAPA .
Funkce vypočítá vzdálenost mezi dvěma adresami v mílích. Podívejte se na buňku E10 . Zobrazí se číslo, 2790 .
Takže dojezdová vzdálenost mezi MacArthur Park, Camden, Nový Jižní Wales, Austrálie, a Jersey City, New Jersey, Spojené státy americké je 2790 mil.
Přečtěte si více: Jak vypočítat vzdálenost mezi dvěma adresami v aplikaci Excel (3 způsoby)
Praktická část
Na konci poskytnutého souboru Excel získáte list Excelu, jako je následující obrázek, na kterém si můžete procvičit všechny metody popsané v tomto článku.
Závěr
Shrnuto, probrali jsme 2 způsoby výpočtu dojezdové vzdálenosti mezi dvěma adresami v aplikaci Excel. A neváhejte se zeptat na jakékoli dotazy v sekci komentářů níže. Budeme se snažit odpovědět na všechny relevantní dotazy co nejdříve. A navštivte prosím naše webové stránky. Exceldemy prozkoumat více.