Зміст
Існує кілька варіантів використання 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. обчислення відстані між двома містами за допомогою функцій ACOS, SIN, COS та RADIANS в Excel
Обернений косинус величини - це що функція ACOS Синус кута в радіанах повертається функцією функція Excel SIN Косинус кута в радіанах повертається функцією функція COS Переведення радіанів у градуси здійснюється за допомогою функція RADIANS 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 Приблизно тридцять фрагменти тексту можуть бути з'єднані за допомогою Excel КОНКАТЕНАТ яка повертає результат у вигляді тексту. Функція 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 яка показує маршрут від Лос-Анджелес до Паско Міста будуть додаватися до посилання за допомогою кнопки КОНКАТЕНАТ а назви міст будуть додаватися за допомогою функції ЗАМІНИТИ функцію.
- Після цього введіть це посилання в пошуковий рядок браузера, щоб дізнатися, на якій відстані знаходяться ці два міста одне від одного.
На сьогоднішній день, на жаль, це не так. КОНКАТЕНАТ і ЗАМІНИТИ функції також можна використовувати в Excel для визначення відстані між двома містами на планеті.
Читати далі: Як порахувати кілометри між двома адресами в Excel (2 способи)
4. створення ЛАМБДА-функції для обчислення відстані між двома містами
Функція LAMBDA в Excel використовується для створення спеціальних функцій, які можна використовувати на всьому робочому аркуші та отримати доступ до них під знайомими іменами. Після визначення та присвоєння імені, ми можемо використовувати ці функції в будь-якому місці нашої робочої книги.
Основне рівняння для відстані має вигляд:
D = acos (sinΦ
1
. sinΦ
2
+ cosΦ
1
. cosΦ
2
тому що
Δλ)
. R
Навіть якщо це може здатися дещо перевантаженим, це ті внески, які мають для нас найбільше значення:
- Широта та довгота початкової точки.
- Широта та довгота кінцевого місця розташування.
Так у формулі чи рівнянні.
- Δλ вказує на різницю між довготами ( lon_2-lon_1 ).
- Φ 1 і Φ 2 послідовно вказати lat_1 і lat_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))
- Потім натисніть ГАРАЗД. .
- Звідси ви потрапите до ім'я менеджера діалог знову.
- Крім того, натисніть на кнопку Закрити для завершення процесу.
- Тепер ви можете знайти нову користувацьку функцію CityDistance А за допомогою функції ви отримаєте відстань між двома містами.
- Таким чином, застосувавши формулу, отримуємо число 1358.524645 .
Читати далі: Як розрахувати відстань Левенштейна в Excel (4 простих способи)
5. обчислення відстані між двома містами за допомогою Excel VBA
Здійснення API ( Інтерфейс прикладного програмування ) з'єднання і використання його для побудови Функція, що визначається користувачем у VBA є ще два способи визначення відстані між двома місцеположеннями. Щоб зібрати дані для місцеположення, Excel підключається через API на будь-яку карту, в тому числі Google Map і Bing Map Тому для того, щоб використовувати цю методику, ми повинні спочатку створити API Це дуже просто, але, на жаль, тільки Bing Map пропонує безкоштовну API Ми продемонструємо це на прикладі використання безкоштовного сервісу 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 ="&travelMode=driving&o=xml&key=" &Target_Value& "&distanceUnit=km" Set 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 . Перше місто Як Струна, Друге місто Як Струна, і Цільове значення В якості аргументів також були включені рядки.
- Тоді ми заявили Налаштування HTTP як об'єкт і Початковий пункт , Кінцева точка , Одиниця виміру відстані і Вихідний URL як Струни.
- Пізніше ми змінили Одиниця виміру відстані до кілометр і Початковий пункт до початкової точки відліку Url зв'язок.
- Далі ми задаємо параметри, необхідні для встановлення зв'язку між нашими VBA код та API .
- Потім ми створили наш Функція, що визначається користувачем .
Висновок
Вищезазначені методи допоможуть вам у Розрахувати відстань між двома містами в Excel Сподіваємося, це допоможе вам! Будь ласка, повідомте нам у розділі коментарів, якщо у вас виникнуть будь-які питання, пропозиції або відгуки. Або ви можете переглянути інші наші статті в розділі ExcelWIKI.com блог!