Как рассчитать расстояние между двумя городами в Excel

  • Поделись Этим
Hugh West

Существует несколько вариантов использования Excel . Крутая специальная функция и формула в Microsoft Excel может определить расстояние между двумя конкретными городами или местами на планете. Очень важно уметь рассчитать расстояние между любыми двумя местами на карте. Это позволяет рассчитать фактическое расстояние и даст вам приблизительную оценку того, сколько времени займет ваше путешествие. Но с помощью excel мы можем легко сделать это. В этой статье мы продемонстрируем несколько способов расчета расстояния между двумя городами в Excel.

Скачать Практическое пособие

Вы можете скачать рабочую тетрадь и заниматься с ними.

Рассчитать расстояние между двумя городами.xlsm

Введение набора данных

Чтобы рассчитать расстояние между двумя городами, сначала нужно подготовить набор данных. Предположим, у нас есть два города Лос-Анджелес который является крупным городом в штате Калифорния и Паско который является городом Вашингтон Теперь нам нужно найти расстояние между ними. Для этого мы должны знать широта и долгота Мы можем просто найти широту и долготу любого города с помощью Excel. Давайте посмотрим, как это сделать.

ШАГИ:

  • Во-первых, выделите ячейку, в которую мы поместим название городов. В нашем случае мы выделили ячейки B5 и B6 .
  • Во-вторых, зайдите на Данные на вкладке ленты.
  • В-третьих, в Типы данных категория нажмите на География .

  • Затем, чтобы найти широту, выделите ячейку, в которую вы поместили широту, и введите в нее формулу.
=B5.Широта

  • Нажмите Войти чтобы увидеть результат.

  • Аналогично находим широту клетки B6 .
  • Теперь, чтобы найти долготу, а также широту, выделите ячейку и введите в нее следующую формулу.
=B5.Долгота

  • Нажмите кнопку Войти на клавиатуре.

  • Аналогично, мы получаем B6 долготу, выполнив предыдущие шаги.
  • Вот и все, теперь у нас есть широта и долгота обоих городов. Итак, наш набор данных готов к использованию.

5 различных методов расчета расстояния между двумя городами в Excel

Найдя расстояние между двумя населенными пунктами, мы сможем определить расстояние между двумя домами. Используя эту информацию, мы можем оценить, сколько времени нам потребуется на путешествие между домами. Чтобы найти расстояние между двумя городами, мы используем вышеупомянутый набор данных, который мы только что сделали.

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

Одним из фундаментальных уравнений для исследования океана является уравнение Формула гаверсина , который можно использовать для расчета расстояния между двумя точками на сферической плоскости при условии, что вы определите их широту и долготу, а также радиус полусферы. GPS Устройства, по сути, автоматизировали ее. Давайте выполним шаги, чтобы использовать формулу для расчета расстояния между двумя городами.

ШАГИ:

  • Для начала выделите ячейку, в которой вы хотите получить расстояние, так, мы выделим ячейку C8 .
  • Затем положите Формула гаверсина в выбранную ячейку.
=3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

  • Наконец, нажмите кнопку Войти чтобы увидеть результат.

  • Таким образом, используя формулу, мы получаем результат 1367.581282 .

Читайте также: Как рассчитать расстояние между двумя адресами в Excel

2. Вычислите расстояние между двумя городами с помощью функций Excel ACOS, SIN, COS и RADIANS

Обратный косинус величины - это то, что функция ACOS возвращается. Синус угла в радианах возвращается с помощью функции функция SIN в Excel Косинус угла в радианах возвращается с помощью функции функция COS Радианы преобразуются в градусы с помощью функция Excel РАДИАНС Мы можем комбинировать эти функции, чтобы получить расстояние между двумя городами. Это также было в основном автоматизировано с использованием GPS устройства. Давайте применим комбинацию этих функций для получения расстояния между двумя городами, пройдя по шагам.

ШАГИ:

  • В первую очередь, выберите ячейку, в которой вы хотите получить расстояние; в данном случае мы выбираем ячейку C8 .
  • После этого вставьте комбинацию формул функции в выбранную ячейку.
=ACOS(COS(RADIANS(90-C5)) *COS(RADIANS(90-C6)) +SIN(RADIANS(90-C5)) *SIN(RADIANS(90-C6)) *COS(RADIANS(D5-D6))) *6371

  • Чтобы просмотреть результат, нажмите кнопку Войти клавишу в самом конце.

  • Таким образом, применяя формулу, мы получаем число 1357.033633 .

Читать далее: Как рассчитать расстояние между двумя GPS-координатами в Excel

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

Чтобы объединить две или даже больше последовательностей слов в одну фразу, используйте текстовая функция CONCATENATE . Примерно тридцать фрагменты текста можно объединить с помощью Excel CONCATENATE функция, которая возвращает результат в виде текста. Функция SUBSTITUTE excel использует сравнение для изменения текста в заданной строке. Мы можем объединить эти две функции, чтобы создать Google Map ссылку, чтобы найти расстояние между двумя адресами Используя. Давайте воспользуемся формулой для получения расстояния между двумя городами, выполнив все шаги.

ШАГИ:

  • Аналогично предыдущему методу, выберите ячейку, в которой вы хотите получить Google Map ; в этом случае мы выбираем клетку C8 .
  • Затем введите формулу в выбранную ячейку.

=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=",

SUBSTITUTE(B5," ", "+"),"&daddr="",SUBSTITUTE(B6," ", "+"))

  • Чтобы отобразить результаты, нажмите кнопку Войти ключ.

С помощью этой формулы вы можете установить ссылку на Google Map который показывает маршрут от Лос-Анджелес на Паско Города будут добавлены к ссылке с помощью функции CONCATENATE а названия городов будут добавлены с помощью функции ЗАМЕНИТЬ функция.

  • После этого введите эту ссылку в поисковую строку браузера, чтобы узнать, как далеко друг от друга находятся эти два города.

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

Читать далее: Как рассчитать мили между двумя адресами в Excel (2 метода)

4. Создание функции LAMBDA для вычисления расстояния между двумя городами

Функция LAMBDA в Excel используется для создания настраиваемых функций, которые можно использовать на всем рабочем листе и обращаться к ним под знакомыми именами. После определения и присвоения имени мы можем использовать эти функции в любом месте нашей рабочей книги.

Основным уравнением для расстояния является:

D = acos (sinΦ 1 . sinΦ 2 + cosΦ 1 . cosΦ 2 cos Δλ) . R

Даже если это может показаться немного подавляющим, для нас важнее всего входные данные:

  • Широта и долгота начальной точки.
  • Широта и долгота конечного местоположения.

То есть в формуле или уравнении.

  • Δλ указывает на разницу между долготами ( lon_2-lon_1 ).
  • Φ 1 и Φ 2 последовательно указывать lat_1 и лат_2 .
  • R указывает радиус поверхности.

Давайте создадим LAMBDA функцию для вычисления расстояния между двумя городами, выполнив следующие действия.

ШАГИ:

  • Сначала выберите ячейку C8 .
  • Далее вставьте формулу в эту ячейку.
=LAMBDA(_lat1, _lon1, _lat2, _lon2, LET(lat_1, RADIANS(_lat1),lon_1, RADIANS(_lon1),lat_2, RADIANS(_lat2),lon_2, RADIANS(_lon2),r, 6378,ACOS((SIN(lat_1) * SIN(lat_2)) + (COS(lat_1) * COS(lat_2) * COS(lon_2-lon_1))) * r))(C5,D5,C6,D6)

  • Затем нажмите Войти .

  • Это покажет результат, но формула слишком большая, и ее может быть трудно понять при многократном использовании.
  • Поэтому, вместо того чтобы делать это, мы можем создать индивидуальную формулу, используя LAMBDA функция.
  • Для этого перейдите в раздел Формулы на вкладке ленты.
  • Под Определенные имена группу, нажмите на Именной менеджер .

  • На экране появится Именной менеджер диалоговое окно.
  • Теперь нажмите на Новый меню.

  • Это приведет вас к Новое имя окно.
  • Далее, назовите формулу, так как мы хотим вычислить расстояние между двумя городами, поэтому подставляем имя формулы CityDistance .
  • Затем введите следующую формулу в поле Относится к .

=LAMBDA(_lat1, _lon1, _lat2, _lon2, LET(lat_1, RADIANS(_lat1),lon_1, RADIANS(_lon1),lat_2,RADIANS(_lat2),lon_2, RADIANS(_lon2),r, 6378,ACOS((SIN(lat_1) * SIN(lat_2)) + (COS(lat_1) * COS(lat_2) * COS(lon_2-lon_1))) * r))))

  • Затем нажмите OK .

  • Это приведет вас к имя Менеджера снова диалог.
  • Кроме того, нажмите на Закрыть для завершения процесса.

  • Теперь вы можете найти новую пользовательскую функцию CityDistance И с помощью функции вы получите расстояние между двумя городами.

  • Таким образом, применяя формулу, мы получаем число 1358.524645 .

Читайте также: Как рассчитать расстояние Левенштейна в Excel (4 простых способа)

5. Вычислить расстояние между двумя городами с помощью Excel VBA

Создание API ( Интерфейс прикладного программирования ) соединение и использовать его для построения Функция, определяемая пользователем в VBA - это два других способа определить расстояние между двумя местоположениями. Чтобы собрать данные для местоположения, Excel подключается через API на любую карту, включая Google Map и Bing Map Поэтому, чтобы использовать этот метод, мы должны сначала установить API ключ. Это действительно просто, но, к сожалению, только Bing Map предлагает бесплатный API Мы продемонстрируем этот способ на примере бесплатной программы Google. Bing Map API ключ. Нажмите здесь чтобы создать свой собственный Ключ API Bing Map .

ШАГИ:

  • Для начала мы создали API клавишу и поместил ее на ячейку C8 .

  • Теперь перейдите к Разработчик на вкладке ленты.
  • Затем, из Код категорию, нажмите на Visual Basic чтобы открыть Редактор Visual Basic Или нажмите Alt + F11 чтобы открыть Редактор Visual Basic .

  • Вместо того чтобы делать это, вы можете просто щелкните правой кнопкой мыши на своем рабочем листе и перейдите к Посмотреть код Это также приведет вас к Редактор Visual Basic .

  • Это появится в Редактор Visual Basic .
  • Далее нажмите на Модуль из Вставка выпадающая строка меню.

  • Это позволит создать Модуль в вашей рабочей тетради.
  • И, скопируйте и вставьте код VBA показано ниже.

Код VBA:

 Option Explicit Public Function CityDistance(First_City As String, Second_City 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=km" Setup_HTTP = CreateObject("MSXML2.ServerXMLHTTP") Output_Url = Initial_Point & First_City & Ending_Point & Second_City & 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("") CityDistance = Round(Round(WorksheetFunction.FilterXML(Setup_HTTP.ResponseText, _ "//TravelDistance"), 3), 0) End Function 
  • Сохраните код, сохранив всю рабочую книгу как рабочую книгу с поддержкой микро, и расширение будет .xlsm .

  • Это создаст пользовательское имя функции CityDistance .

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

  • Мы начали с того, что дали нашим Функция имя CityDistance . Первый город Как строка, Второй город как строка, и Целевая стоимость As String также были включены в качестве аргументов.
  • Затем мы объявили Настройка HTTP как объект и Начальная точка , Конечная точка , Единица измерения расстояния и Выходной урл как струны.
  • Позже мы изменили Единица измерения расстояния на километр и Начальная точка в начальную точку Url ссылка.
  • Далее мы задаем параметры, необходимые для установления соединения между нашими код VBA и API .
  • Затем мы создали наш Функция, определяемая пользователем .

Заключение

Приведенные выше методы помогут вам Рассчитать расстояние между двумя городами в Excel Надеемся, это вам поможет! Пожалуйста, сообщите нам в разделе комментариев, если у вас есть какие-либо вопросы, предложения или отзывы. Вы также можете посмотреть другие наши статьи в разделе ExcelWIKI.com блог!

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.