Оглавление
В статье вы узнаете, как рассчитать расстояние между двумя адресами в Excel. Microsoft Excel имеет классную специальную функцию и формулу для определение расстояния между двумя точками мира. Если у вас есть GPS-координаты из двух мест, вы можете легко определить расстояние между этими местами в любой единице измерения.
Скачать Практическое пособие
Расчет расстояния между двумя адресами.xlsm
3 способа вычислить расстояние между двумя адресами в Excel
В нашем наборе данных мы имеем Широта и Долгота для Огайо и Аляска Мы собираемся измерить расстояние между ними.
Сайт Широты для Огайо и Аляска являются 40.4173 Север и 64.2008 Север соответственно. Также Лонгитуды для Огайо и Аляска являются 82.9071 Запад и 149.4937 Вести соответственно.
1. использование формулы Хаверсина для расчета расстояния между двумя адресами
Если вы хорошо разбираетесь в математике, то использование Формула гаверсина Хотя он даст вам приблизительный результат, это довольно хороший результат.
Прежде всего, нам необходимо знать основная формула длины дуги И используя эту формулу, мы сравним его с расстоянием между двумя местами на Земле. Формула приведена ниже.
S = rθ
S = Расстояние между двумя адресами
r = Радиус Земли
θ = Угол, вносимый в центр Земли двумя адресами
Но если у вас есть GPS-координаты из двух мест, вам необходимо определить из Формула гаверсина Посмотрите на Формула гаверсина показано ниже.
Если вы сравните это с формула длины дуги Вы получите результат, как на следующем изображении.
Давайте познакомим вас с параметрами параметра Формула гаверсина .
φ 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 функции Это довольно просто, если вы просто посмотрите на Формула гаверсина Мы измеряем расстояние в километры , поэтому мы положим радиус Земли в километрах, что составляет 6400 км . ASIN относится к обратный синус или ArcSine Если мы сравним углы параметров Формула гаверсина с помощью нашей формулы Excel, мы получаем,
1 = широта штата Огайо (C5)
2 = широта Аляски (C6)
ℽ 1 = Долгота штата Огайо (D5)
ℽ 2 = широта Аляски (D6)
- После этого нажмите кнопку ENTER чтобы увидеть расстояние между Огайо и Аляска в Километры .
- После этого, если вы хотите измерить расстояние в милях , используйте следующую формулу в ячейке C8 .
=2*3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))
Здесь мы использовали ту же формулу Excel, которую использовали для нахождения расстояния в мили По этой причине мы принимаем радиус Земли за мили который 3959 .
Таким образом, вы можете рассчитать расстояние между двумя адресами земли в Excel, применяя Формула гаверсина .
Читать далее: Как рассчитать расстояние между двумя координатами в Excel (2 метода)
2. Применение функций Excel CONCATENATE и SUBSTITUTE для вычисления расстояния между двумя адресами
Вы можете создать Google Map ссылку, чтобы найти расстояние между двумя адресами с помощью Excel CONCATENATE и ЗАМЕНИТЬ Функции Давайте рассмотрим процесс ниже.
Шаги:
- Сначала введите следующую формулу в C8 .
=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=",
SUBSTITUTE(B5," ", "+"),"&daddr="",SUBSTITUTE(B6," ", "+"))
Эта формула создаст Google Map ссылку о том, как вы можете путешествовать из Огайо на Аляска . CONCATENATE функция добавит адреса в ссылке и ЗАМЕНИТЬ функция поместит имя адреса .
- Затем нажмите кнопку ENTER и вы увидите Google Map ссылка C8 .
- После этого используйте следующее ссылка в строке поиска в интернете и вы получите расстояние информация об этих два адреса .
Наконец, вы можете рассчитать расстояние между двумя адресами земли в Excel, применяя CONCATENATE и ЗАМЕНИТЕ функции.
Читать далее: Как рассчитать расстояние между двумя городами в Excel
3. Использование VBA для вычисления расстояния между двумя адресами в Excel
Другой способ расчета расстояние между двумя адресами может быть путем создания API ( Интерфейс прикладного программирования ) ссылку и использовать ее для создания Функция, определяемая пользователем по VBA Вы можете сделать API ссылка Bing бесплатно. Чтобы создать Bing Map Собственный ключ 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 = "&destinations="."&travelMode=driving&o=xml&key=" & Target_Value & "&distanceUnit=mi" 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
Объяснение кода
- Во-первых, мы назвали наш Функция в качестве DistanceInMiles Мы также вставили 3 параметры: First_Location As String, Final_Location As String и Target_Value As String .
- После этого мы объявили Начальная_точка , Конечная_точка , Расстояние_Единица и Outout_Url в качестве Строка ; Setup_HTTP в качестве Объект .
- Позже мы установили Начальная_точка как начало Url-ссылка , Конечная_точка в качестве Место назначения и Расстояние_Единица на Майлз .
- После этого мы устанавливаем необходимые параметры для создания связи между нашими VBA код и API
- Наконец, мы установили наши Функция, определяемая пользователем .
- После этого, следуя тем же процедурам, мы сделали еще один Функция, определяемая пользователем чтобы найти расстояние в километры .
Вы можете видеть, что мы просто изменили Расстояние_Единица на километры .
- После этого, на следующем рисунке, вы можете увидеть API ключ в ячейке C8 .
- После этого введите в ячейку следующую формулу C8 .
=DistanceInMiles(E5,E6,C8)
- Затем нажмите кнопку ENTER и вы увидите расстояние между Огайо и Аляска в мили .
- После этого используйте следующую формулу, чтобы увидеть расстояние в километр .
=DistanceInKM(E5,E6,C8)
Таким образом, вы можете рассчитать расстояние между двумя адресами с помощью VBA и API ключ.
Читать далее: Как рассчитать расстояние между двумя адресами в Excel
О чем следует помнить
- Помните об этом, вы должны поставить приблизительно правильные GPS-координаты из них государства в данных, потому что вы используете Интернет для поиска расстояния. Поскольку государства являются запад к Меридианная линия , оба их Лонгитуды будет отрицательным.
Практическая секция
В этом разделе я предоставлю вам набор данных из этой статьи, чтобы вы могли самостоятельно отработать эти методы.
Заключение
Достаточно сказать, что вы узнаете очень эффективные методы расчета расстояние между двумя адресами в Excel после прочтения этой статьи. Если у вас есть лучшие методы, вопросы или отзывы относительно этой статьи, пожалуйста, поделитесь ими в поле для комментариев. Это поможет мне обогатить мои будущие статьи. Для получения дополнительных запросов, пожалуйста, посетите наш сайт ExcelWIKI.com .