Как да изчислим разстоянието между два адреса в Excel (3 начина)

  • Споделя Това
Hugh West

Статията ще ви покаже как да изчислите разстояние между два адреса в Excel. Microsoft Excel има тази страхотна специална функция и формула за намиране на разстоянието между две места в света. Ако имате GPS координати на две места, можете лесно да определяне на разстоянието между тези места във всяка желана единица.

Изтегляне на работна тетрадка за практика

Изчисляване на разстоянието между два адреса.xlsm

3 начина за изчисляване на разстоянието между два адреса в Excel

В нашия набор от данни имаме Географска ширина и Дължина за Охайо и Аляска . Ще измерим разстоянието между тях.

Сайтът Географски ширини за Охайо и Аляска са 40.4173 Север и 64.2008 Север съответно. Също така, Дължини за Охайо и Аляска са 82.9071 Запад и 149.4937 Запад съответно.

1. Използване на формулата на Хаверсин за изчисляване на разстоянието между два адреса

Ако сте добри математици, използвайте Формула на Haversine Въпреки че ще ви даде приблизителен резултат, той е доста добър.

На първо място, трябва да знаем основна формула за дължина на дъгата . И като използваме тази формула, я сравняваме с разстоянието между две места на Земята. Формулата е дадена по-долу.

S = rθ

S = Разстояние между два адреса

r = Радиус на Земята

θ = ъгълът, който сключват двата адреса в центъра на Земята

Но ако имате GPS координати на две места, трябва да определите от Формула на Haversine . Вижте Формула на Haversine показано по-долу.

Ако сравните това с формула за дължина на дъгата , ще се получи като на следното изображение.

Нека ви запознаем с параметрите на Формула на Haversine .

φ 1 = географска ширина на първото място

φ 2 = географска ширина на второто място

1 = Дължина на първото място

2 = географска ширина на второто място

Сега ще ви покажа как да приложите тази формула в Excel стъпка по стъпка.

Стъпки:

  • Първо, създайте клетка, в която да се съхранява стойността на разстоянието, и въведете следната формула в клетката C8 .

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

Формулата използва ASIN , SQRT , SIN и COS функции Това е много просто, ако просто погледнете Формула на Haversine . Измерваме разстоянието в километри , така че поставяме радиуса на Земята в километри, който е 6400 км . ASIN се отнася до обратен синус или ArcSine Ако сравним ъглите на параметрите на Формула на Haversine с нашата формула на Excel получаваме,

1 = географска ширина на Охайо (C5)

2 = географска ширина на Аляска (C6)

1 = Дължина на Охайо (D5)

2 = географска ширина на Аляска (D6)

  • След това натиснете бутона ВЪВЕДЕТЕ за да видите разстоянието между Охайо и Аляска в Километри .

  • След това, ако искате да измерване на разстоянието в мили , използвайте следната формула в клетката C8 .

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

Тук използваме същата формула на Excel, която използвахме за намиране на разстоянието в мили Поради тази причина приемаме радиуса на Земята в мили което е 3959 .

Така можете да изчислите разстояние между два адреса на земя в Excel чрез прилагане на Формула на Haversine .

Прочетете още: Как да изчислим разстоянието между две координати в Excel (2 метода)

2. прилагане на функциите CONCATENATE и SUBSTITUTE на Excel за изчисляване на разстоянието между два адреса

Можете да създадете Карта на Google връзка, за да намерите разстояние между два адреса с помощта на Excel CONCATENATE и ЗАМЕСТВАНЕ Функции . Нека преминем през процеса по-долу.

Стъпки:

  • Първо въведете следната формула в C8 .

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

Тази формула ще създаде Карта на Google връзка за това как можете да пътувате от Охайо към Аляска . CONCATENATE функцията ще добави адреси във връзката и ЗАМЕСТВАНЕ функцията ще постави името на адреси .

  • След това натиснете бутона ВЪВЕДЕТЕ и ще видите бутона Карта на Google връзка в C8 .

  • След това използвайте този връзка в лентата за търсене в интернет и ще получите разстояние информация за тези два адреса .

Накрая можете да изчислите разстояние между два адреса на земята в Excel чрез прилагане на CONCATENATE и ЗАМЕСТВАНЕ функции.

Прочетете още: Как да изчислим разстоянието между два града в Excel

3. Използване на VBA за изчисляване на разстоянието между два адреса в Excel

Друг начин за изчисляване на разстояние между два адреса може да бъде чрез създаване на API ( Интерфейс за програмиране на приложения ) и да го използвате за създаване на Дефинирана от потребителя функция от VBA . Можете да направите API връзка в Bing безплатно. За да създадете Карта на Bing собствен API ключ, Кликнете тук .

Стъпки:

  • Първо, отидете в Разработчик >> Visual Basic .

  • След това изберете Вмъкване на >> Модул за да отворите Модул VBA .

  • По-късно въведете следния код в Модул VBA . Създаваме Дефинирана от потребителя функция да изчислите разстояние в мили .
 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) Край на функцията 

Обяснение на кода

  • Първо, дадохме име на нашия Функция като Разстояниев мили . Вмъкнахме и 3 параметри: First_Location като низ, Final_Location като низ и Target_Value като String .
  • След това обявихме Initial_Point , Ending_Point , Разстояние_единица и Outout_Url като Редица ; Настройка_HTTP като Обект .
  • По-късно задаваме Initial_Point като начало на Урл връзка , Ending_Point като Дестинация и Разстояние_единица към Майлс .
  • След това задаваме необходимите параметри, за да създадем връзка между нашите VBA код и API
  • И накрая, ние установихме нашите Дефинирана от потребителя функция .
  • След това, следвайки същите процедури, направихме още една Дефинирана от потребителя функция за намиране на разстоянието в километри .

Можете да видите, че просто променихме Разстояние_единица към километри .

  • След това на следващата снимка можете да видите API ключ в клетка C8 .

  • След това въведете следната формула в клетката C8 .

=Разстояние в мили(E5,E6,C8)

  • След това натиснете бутона ВЪВЕДЕТЕ и ще видите бутона разстояние между Охайо и Аляска в мили .

  • След това използвайте следната формула, за да видите разстояние в километър .

=РазстояниеInKM(E5,E6,C8)

Така можете да изчислите разстояние между два адреса с помощта на VBA и API ключ.

Прочетете още: Как да изчислим разстоянието между два адреса в Excel

Нещата, които трябва да запомните

  • Имайте предвид, че трябва да поставите приблизително правилната GPS координати на тези държави в данните, защото използвате интернет, за да намерите разстоянието. държави са запад към Линия Meridian , и двете им Дължини ще бъде отрицателна.

Практически раздел

В този раздел ще ви дам набора от данни от тази статия, за да можете да практикувате тези методи сами.

Заключение

Достатъчно е да кажем, че ще научите много ефективни методи за изчисляване на разстояние между два адреса в Excel, след като прочетете тази статия. Ако имате по-добри методи, въпроси или обратна връзка относно тази статия, моля, споделете ги в полето за коментари. Това ще ми помогне да обогатя предстоящите си статии. За повече запитвания, любезно посетете нашия уебсайт ExcelWIKI.com .

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.