Obsah
V článku sa dozviete, ako vypočítať vzdialenosť medzi dvoma adresami v programe Excel. Microsoft Excel má túto skvelú špeciálnu funkciu a vzorec pre zistenie vzdialenosti medzi dvoma miestami na svete. Ak máte Súradnice GPS dvoch miest, môžete ľahko určiť vzdialenosť medzi týmito miestami v ľubovoľnej jednotke.
Stiahnite si cvičebnicu
Výpočet vzdialenosti medzi dvoma adresami.xlsm
3 spôsoby výpočtu vzdialenosti medzi dvoma adresami v programe Excel
V našom súbore údajov máme Zemepisná šírka a Zemepisná dĺžka pre Ohio a Aljaška . Budeme merať vzdialenosť medzi nimi.
Stránka Zemepisné šírky pre Ohio a Aljaška sú 40.4173 Sever a 64.2008 Sever Taktiež Zemepisné dĺžky pre Ohio a Aljaška sú 82.9071 Západ a 149.4937 Západ resp.
1. Použitie Haversinovho vzorca na výpočet vzdialenosti medzi dvoma adresami
Ak ste dobrí v matematike, používajte Vzorec Haversine Hoci vám poskytne približný výsledok, je to celkom dobrý výsledok.
V prvom rade musíme poznať základný vzorec dĺžky oblúka . A pomocou tohto vzorca ju porovnáme so vzdialenosťou medzi dvoma miestami na Zemi. Vzorec je uvedený nižšie.
S = rθ
S = vzdialenosť medzi dvoma adresami
r = polomer Zeme
θ = uhol, ktorý zvierajú v strede Zeme dve adresy
Ale ak máte Súradnice GPS dvoch miest, musíte určiť z Vzorec Haversine . Pozrite sa na Vzorec Haversine uvedené nižšie.
Ak to porovnáte s vzorec pre dĺžku oblúka , dostanete ako na nasledujúcom obrázku.
Predstavíme vám parametre Vzorec Haversine .
φ 1 = zemepisná šírka prvého miesta
φ 2 = zemepisná šírka druhého miesta
ℽ 1 = zemepisná dĺžka prvého miesta
ℽ 2 = zemepisná šírka druhého miesta
Teraz vám ukážem, ako tento vzorec použiť v programe Excel krok za krokom.
Kroky:
- Najprv vytvorte bunku na uloženie hodnoty vzdialenosti a do bunky zadajte nasledujúci vzorec C8 .
=2*6400*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))
Vzorec používa ASIN , SQRT , SIN a COS funkcie Je to celkom jednoduché, ak sa pozriete na Vzorec Haversine Vzdialenosť meriame v kilometrov , takže sme určili polomer Zeme v kilometroch, ktorý je 6400 km . ASIN sa vzťahuje na inverzný sínus alebo ArcSine Ak porovnáme uhly parametrov Vzorec Haversine pomocou nášho vzorca Excelu dostaneme,
1 = Zemepisná šírka Ohia (C5)
2 = zemepisná šírka Aljašky (C6)
ℽ 1 = Zemepisná dĺžka Ohia (D5)
ℽ 2 = zemepisná šírka Aljašky (D6)
- Potom stlačte tlačidlo VSTÚPIŤ aby ste videli vzdialenosť medzi Ohio a Aljaška na stránke Kilometre .
- Ak chcete následne meranie vzdialenosti v míľach , použite nasledujúci vzorec v bunke C8 .
=2*3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))
Tu sme použili rovnaký vzorec programu Excel, ktorý sme použili na zistenie vzdialenosti v míle Z tohto dôvodu berieme polomer Zeme v míle čo je 3959 .
Takto môžete vypočítať vzdialenosť medzi dvoma adresami zeme v programe Excel použitím Vzorec Haversine .
Prečítajte si viac: Ako vypočítať vzdialenosť medzi dvoma súradnicami v programe Excel (2 metódy)
2. Použitie funkcií CONCATENATE a SUBSTITUTE programu Excel na výpočet vzdialenosti medzi dvoma adresami
Môžete vytvoriť Mapa Google odkaz na vyhľadanie vzdialenosť medzi dvoma adresami pomocou programu Excel CONCATENATE a SUBSTITUTE Funkcie . Prejdime si tento postup nižšie.
Kroky:
- Najprv zadajte nasledujúci vzorec C8 .
=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=",
SUBSTITUTE(B5," ", "+"),"&daddr=",SUBSTITUTE(B6," ", "+"))
Tento vzorec vytvorí Mapa Google odkaz na to, ako môžete cestovať z Ohio na Aljaška . CONCATENATE funkcia pridá adresy v prepojení a SUBSTITUTE funkcia umiestni názov adresy .
- Potom stlačte tlačidlo VSTÚPIŤ a zobrazí sa Mapa Google prepojenie v C8 .
- Potom použite tento odkaz v internetovom vyhľadávacom riadku a dostanete vzdialenosť informácie o týchto dve adresy .
Nakoniec môžete vypočítať vzdialenosť medzi dvoma adresami zeme v programe Excel použitím CONCATENATE a SUBSTITUTE funkcie.
Prečítajte si viac: Ako vypočítať vzdialenosť medzi dvoma mestami v programe Excel
3. Použitie VBA na výpočet vzdialenosti medzi dvoma adresami v programe Excel
Iný spôsob výpočtu vzdialenosť medzi dvomi adresami by mohol byť vytvorením API ( Rozhranie na programovanie aplikácií ) a pomocou neho vytvoriť Funkcia definovaná používateľom podľa VBA . Môžete si vytvoriť API prepojenie v Bing zadarmo. Ak chcete vytvoriť Mapa Bing vlastný kľúč API, kliknite sem .
Kroky:
- Najprv prejdite na stránku Vývojár >> Visual Basic .
- Potom vyberte Vložte >> Modul otvoriť Modul VBA .
- Neskôr zadajte nasledujúci kód do Modul VBA . Vytvárame Funkcia definovaná používateľom vypočítať vzdialenosť na stránke 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
Vysvetlenie kódu
- Najprv sme pomenovali našu Funkcia ako DistanceInMiles . Vložili sme aj 3 parametre: First_Location As String, Final_Location As String a Target_Value ako String .
- Potom sme vyhlásili. Initial_Point , Ending_Point , Distance_Unit a Outout_Url ako String ; Setup_HTTP ako Objekt .
- Neskôr sme nastavili Initial_Point ako začiatok URL odkaz , Ending_Point ako Cieľová destinácia a Distance_Unit na Miles .
- Potom nastavíme potrebné parametre na vytvorenie vzťahu medzi našou VBA kód a API
- Nakoniec sme vytvorili našu Funkcia definovaná používateľom .
- Potom sme podľa rovnakých postupov vyrobili ďalšie Funkcia definovaná používateľom na zistenie vzdialenosti v kilometrov .
Vidíte, že sme práve zmenili Distance_Unit na kilometrov .
- Na nasledujúcom obrázku môžete vidieť API kľúč v bunke C8 .
- Potom do bunky zadajte nasledujúci vzorec C8 .
=VzdialenostInMiles(E5,E6,C8)
- Potom stlačte tlačidlo VSTÚPIŤ a zobrazí sa vzdialenosť medzi Ohio a Aljaška na stránke míle .
- Potom použite nasledujúci vzorec, aby ste zistili vzdialenosť na stránke kilometer .
=VzdialenostInKM(E5,E6,C8)
Takto môžete vypočítať vzdialenosť medzi dvoma adresami pomocou VBA a API kľúč.
Prečítajte si viac: Ako vypočítať vzdialenosť medzi dvoma adresami v programe Excel
Čo si treba zapamätať
- Majte na pamäti, že je potrebné uviesť približne správne Súradnice GPS z nich uvádza v údajoch, pretože na zistenie vzdialenosti používate internet. uvádza sú západ na Meridian Line , obe ich Zemepisné dĺžky bude záporná.
Praktická časť
V tejto časti vám poskytnem súbor údajov z tohto článku, aby ste si mohli tieto metódy vyskúšať sami.
Záver
Stačí povedať, že sa naučíte veľmi účinné metódy, ako vypočítať vzdialenosť medzi dvoma adresami v programe Excel po prečítaní tohto článku. Ak máte nejaké lepšie metódy alebo otázky alebo spätnú väzbu týkajúcu sa tohto článku, podeľte sa o ne v poli pre komentáre. Pomôže mi to obohatiť moje nadchádzajúce články. Pre ďalšie otázky, láskavo navštívte našu webovú stránku ExcelWIKI.com .