Зміст
Microsoft Excel - це дуже універсальна програма для роботи з електронними таблицями. Вона дозволяє виконувати такий широкий спектр завдань, що ви навіть не можете собі уявити. В Excel можна навіть розрахувати відстань між двома адресами. Якщо у вас є список адрес, щоб знайти різницю між ними, ви, звичайно, можете скористатися MS Excel. Також можна розрахувати відстань вручну. Але це буде занадто довго. Як ви вже зрозуміли, у васСотні тисяч відстаней, які потрібно обчислити. Тому в цій статті я покажу вам, як розрахувати відстань на машині між двома адресами в Excel.
Завантажити Практичний посібник
Ви можете завантажити Excel-файл за наступним посиланням та потренуватися разом з ним.
Обчислити відстань між двома адресами.xlsm2 ефективні способи розрахунку відстані між двома адресами в Excel
1. використання тригонометричних функцій для розрахунку відстані руху
Тут я покажу вам, як поєднувати різні тригонометричні функції розрахувати відстань при русі між двома адресами в Excel.
Для прикладу я взяв дві адреси. Перша адреса - це Парк МакАртур, Камден, Новий Південний Уельс, Австралія Його широта і довгота складають 34.06312149 і -118.2783975 Друга адреса Джерсі-Сіті, штат Нью-Джерсі, США Його широта і довгота складають 40.71799929 і -74.04276812 відповідно.
Зараз я об'єднаю ACOS , COS , ГРИХ І я хочу, щоб ви знали, що я тут, щоб ви знали, що я тут; РАДІАНИ для створення формули, яка буде ефективно обчислювати відстань між двома адресами в милях.
За це,
❶ Виберіть комірку D8 спочатку.
❷ Потім вставте в комірку наступну формулу.
=ACOS(COS(RADIANS(90-C6)) *COS(RADIANS(90-C5)) +SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) * COS(RADIANS(D6-D5))) *3959
❸ Після цього натисніть кнопку ENTER кнопку.
Тепер ви бачите, що формула розрахувала відстань між містами Парк Макартура, Камден, Новий Південний Уельс, Австралія, і Джерсі-Сіті, штат Нью-Джерсі, США Таким чином, ви побачите результат в комірці D8 а саме 2445.270922 миль.
Розбивка по формулам
- COS(РАДІАНИ(90-C6)) *COS(РАДІАНИ(90-C5)) - в "Урядовому кур'єрі". РАДІАНИ перетворюють значення в радіани, а функції COS функція надає косинус значень, потім перемножуються косинуси для широти. Вихідні дані - 0.365377540842758
- COS(RADIANS(D6-D5)) - повертає значення косинуса для різниці довготи між двома адресами. Вихідні дані - 0.716476936499882
- SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) - обчислює відхилення довгот від 90 радіан і перемножує значення синусів. Вихідні дані - 0.627884682513118
- SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) *COS(RADIANS(D6-D5)) - стає 0,627884682513118 * 0,716476936499882. Вихідні дані - 0.449864893802199
- COS(РАДІАНІВ(90-C6)) *COS(РАДІАНІВ(90-C5)) +SIN(РАДІАНІВ(90-C6)) *SIN(РАДІАНІВ(90-C5)) *COS(РАДІАНІВ(D6-D5)) - стає 0,365377540842758 * 0,449864893802199. Вихідні дані - 0.815242434644958
- Тоді ж відбулася ACOS функція арккосинусує значення. Вихідні дані - 0.617648629071256
- Нарешті, помноживши значення на 3959 - 0.617648629071256 *3959 надає результат у милях. Вихідні дані - 2445.270922
Читати далі: Як порахувати кілометри між двома адресами в Excel (2 способи)
2. обчислення відстані між двома адресами за допомогою коду VBA
У цьому розділі я буду використовувати VBA для створення користувацької функції. Потім я використаю цю функцію для обчислення відстані між двома адресами в Excel.
Тут я використовую дві адреси. Перша адреса Парк МакАртур, Камден, Новий Південний Уельс, Австралія Його широта і довгота складають 34.06312149 і -118.2783975 Друга адреса Джерсі-Сіті, штат Нью-Джерсі, США Його широта і довгота складають 40.71799929 і -74.04276812 відповідно.
На цьому етапі я згенерую координати для кожної з адрес. Координата - це комбінація широти і довготи. Згенерувати координату,
- Спочатку введіть широту адреси.
- Потім поставте кому.
- Після цього введіть довготу цієї ж адреси.
Отже, координати першої адреси 34.0631214903094,-118.27839753751 А координати другої адреси 40.7179992930381,-74.0427681204225 .
На сьогоднішній день, на жаль, це не так. VBA кодекс вимагає API карти для розрахунку відстані проїзду. API розшифровується як інтерфейс прикладного програмування. Ви можете використовувати API для підключення або Google Map або Bing Map все, що ти вважаєш за потрібне.
Але створення Google Map API Навпаки, ви можете створити API про Bing MAP на безоплатній основі.
Таким чином, я використовую Bing MAP API тут.
- Для створення безкоштовного Bing MAP API , натисніть тут .
Я створив API Я додаю до цього листа API нижче:
AhFG0hk5nKCcQlk80MRaSk1ZtoYUYsX98BCLWi7p7MKZ-VrzOWptdUwsvj9D3L9F
Тепер настав час написати VBA код. За це,
- Преса ALT + F11 для відкриття Редактор VBA .
- Тепер перейдіть до Вставка ➤ Модуль відкрити новий модуль.
Після відкриття Редактор VBA вставити наступне VBA код у відкритому модулі.
Option Explicit Public Function Driving_Distance(startlocation As String, destination As String, keyvalue As String) Dim First_Value As String, Second_Value As String, Last_Value As String, mitHTTP As Object, mitUrl As String First_Value = "//dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins=" Second_Value = "&destinations=" Last_Value = "&travelMode=driving&o=xml&key="keyvalue & "&distanceUnit=mi" Set mitHTTP = CreateObject("MSXML2.ServerXMLHTTP") mitUrl = First_Value & startlocation & Second_Value & destination & Last_Value mitHTTP.Open "GET", mitUrl, False mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (сумісний; MSIE 6.0; Windows NT 5.0)" mitHTTP.Send("") Driving_Distance =Round(Round(WorksheetFunction.FilterXML(mitHTTP.ResponseText, "//TravelDistance"), 3), 0) End Function
Розподіл кодів
- Тут я створив призначену для користувача функцію під назвою Відстань_до_автомобіля.
- Тоді я використовував 3 параметри: стартова локація , місце призначення і ключове значення. Це положення двох адрес та API значення відповідно.
- Потім я використовував кілька змінних, таких як Перше_Значення , Друге_Значення , Останнє_значення , mitHTTP І я хочу, щоб ви знали, що я тут, щоб ви знали, що я тут; mitUrl. Ці змінні використовуються для зберігання різних значень.
- Потім об'єднані значення (що зберігаються в межах mitUrl ) та використано декілька об'єктних методів ( Відкрито , SetRequestHeader , Надіслати Ось так мені вдалося розрахувати відстань проїзду через API .
Це VBA код генерує визначену користувачем функцію під назвою Відстань_проїзду .
Функція Відстань_проїзду вимагає 3 аргументи в цілому.
Ось загальний синтаксис Відстань_проїзду функцію.
=Відстань_проїзду(Координата_початку_місця_знаходження,Координата_кінця_місця_знаходження, API)
Тепер настав час застосувати користувацьку функцію. Для цього,
- Виділити комірку E10 .
- Потім вставити наступну формулу:
= Відстань_проїзду(E5,E6,C8)
- Тепер натисніть ENTER .
Розбивка по формулам
- E5 це Координата_початку_розташування .
- E6 це Координата_кінцевого_місця_розташування .
- C8 це API про Bing MAP .
Функція обчислює відстань між двома адресами в милях. Відмітити комірку E10 Він побачить номер, 2790 .
Таким чином, відстань на автомобілі між Парк Макартура, Камден, Новий Південний Уельс, Австралія, і Джерсі-Сіті, штат Нью-Джерсі, США це 2790 миль.
Читати далі: Як обчислити відстань між двома адресами в Excel (3 способи)
Практична секція
Наприкінці наданого файлу Excel ви отримаєте аркуш Excel, як показано на наступному скріншоті, на якому ви можете попрактикувати всі методи, описані в цій статті.
Висновок
Підводячи підсумок, я розглянув 2 способи розрахунку відстані між двома адресами в Excel. І не соромтеся задавати будь-які питання в розділі коментарів нижче. Ми постараємося відповісти на всі актуальні запити в найкоротші терміни. І ласкаво просимо відвідати наш сайт Ексельдемія щоб дослідити більше.