Съдържание
Microsoft Excel е много гъвкава програма за електронни таблици. Тя предлага да се изпълняват толкова широк спектър от задачи, че дори не можете да си представите. Можете дори да изчислите разстоянието между два адреса в Excel. Ако имате списък с адреси, за да намерите разликата между тях, разбира се, можете да използвате MS Excel. Можете също така да изчислите разстоянието ръчно. Но това ще отнеме твърде много време. Тъй като иматестотици хиляди разстояния за изчисляване. Така в тази статия ще ви покажа как да изчислите разстоянието между два адреса в Excel.
Изтегляне на работна тетрадка за практика
Можете да изтеглите файла на Excel от следния линк и да се упражнявате с него.
Изчисляване на разстоянието между два адреса.xlsm2 ефективни начина за изчисляване на разстоянието между два адреса в Excel
1. Използване на тригонометрични функции за изчисляване на разстоянието за шофиране
Тук ще ви покажа как да комбинирате различни тригонометрични функции за изчисляване на разстоянието между два адреса в Excel.
За да ви дам пример, взех два адреса. Първият адрес е MacArthur Park, Camden NSW, Австралия . Географската му ширина и дължина са 34.06312149 и -118.2783975 Вторият адрес е съответно Джърси Сити, Ню Джърси, САЩ . Географската му ширина и дължина са 40.71799929 и -74.04276812 съответно.
Сега ще комбинирам ACOS , COS , SIN , & RADIANS функциите, за да създадете формула. Формулата ефективно ще изчисли разстоянието между два адреса в мили.
За тази цел,
❶ Изберете клетка D8 първо.
❷ След това въведете следната формула в клетката.
=ACOS(COS(РАДИАН(90-C6)) *COS(РАДИАН(90-C5)) +SIN(РАДИАН(90-C6)) *SIN(РАДИАН(90-C5)) * COS(РАДИАН(D6-D5))) *3959
❸ След това натиснете ВЪВЕДЕТЕ бутон.
Сега ще видите, че формулата е изчислила разстоянието между MacArthur Park, Camden NSW, Австралия, и Джърси Сити, Ню Джърси, САЩ в мили. Така ще видите резултата в клетката D8 което е 2445.270922 мили.
Разбивка на формулата
- COS(РАДИАНИ(90-C6)) *COS(РАДИАНИ(90-C5)) - на RADIANS функциите превръщат стойностите в радиани, а функцията COS функцията предоставя косинус на стойностите, след което се умножават косинусите за географската ширина. Изход - 0.365377540842758
- COS(RADIANS(D6-D5)) - предоставя косинусовата стойност за разликата в географската дължина между двата адреса. Изход - 0.716476936499882
- SIN(RADIANS(90-C6)) *SIN(RADIANS(90-C5)) - изчислява отклонението на дължините от 90 радиана и умножава синусоидалните стойности. Изход - 0.627884682513118
- SIN(РАДИАНИ(90-C6)) *SIN(РАДИАНИ(90-C5)) *COS(РАДИАНИ(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.
Тук използвам два адреса. Първият адрес е MacArthur Park, Camden NSW, Австралия . Географската му ширина и дължина са 34.06312149 и -118.2783975 Вторият адрес е съответно Джърси Сити, Ню Джърси, САЩ . Географската му ширина и дължина са 40.71799929 и -74.04276812 съответно.
Ще генерирам координати за всеки от адресите. Координатът е комбинация от географска ширина и дължина. За да генерирате координати,
- Първо въведете географската ширина на адреса.
- След това поставете запетая.
- След това въведете географската дължина на същия адрес.
Така че координатата на първия адрес е 34.0631214903094,-118.27839753751 . И координатата на втория адрес е 40.7179992930381,-74.0427681204225 .
Сайтът VBA кодът изисква API на картата, за да изчислите разстоянието. API означава интерфейс за програмиране на приложения. Можете да използвате API да свържете или Карта на Google или Карта на Bing каквото предпочитате.
Но създаването на API на Google Map е платена. Напротив, можете да създадете API на Карта на Bing безплатно.
Затова използвам API на Bing MAP тук.
- Създаване на безплатен API на Bing MAP , Кликнете тук .
Създадох 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 (compatible; MSIE 6.0; Windows NT 5.0)" mitHTTP.Send ("") Driving_Distance =Round(Round(WorksheetFunction.FilterXML(mitHTTP.ResponseText, "//TravelDistance"), 3), 0) Край на функцията
Разбивка на кода
- Тук съм създал дефинирана от потребителя функция, наречена Разстояние за шофиране.
- След това използвах 3 параметъра: начална локация , дестинация , и стойност на ключа. Това са позицията на двата адреса и API съответно стойност.
- След това използвах няколко променливи, като например First_Value , Second_Value , Last_value , mitHTTP , & Митул. Тези променливи се използват за съхраняване на различни стойности.
- След това комбинирайте стойностите (съхранени в mitUrl ) и използва няколко метода за обекти ( Отворете , SetRequestHeader , Изпрати ). Така успях да изчисля разстоянието до мястото на шофиране чрез API .
Този VBA кодът генерира дефинирана от потребителя функция, наречена Разстояние за шофиране .
Функцията Разстояние за шофиране изисква 3 аргумента общо.
Ето общия синтаксис на Разстояние за шофиране функция.
=Driving_Distance(Start_Location_Coordinate,End_Location_Coordinate, API)
Сега е време да приложите дефинираната от потребителя функция. За целта,
- Изберете клетка E10 .
- След това въведете следната формула:
=Driving_Distance(E5,E6,C8)
- Сега натиснете ВЪВЕДЕТЕ .
Разбивка на формулата
- E5 е Начална_координата на местоположението .
- E6 е End_Location_Coordinate .
- C8 е API на Карта на Bing .
Функцията изчислява разстоянието между два адреса в мили. Проверете клетка E10 . Той ще види номера, 2790 .
Така разстоянието между MacArthur Park, Camden NSW, Австралия, и Джърси Сити, Ню Джърси, САЩ е 2790 мили.
Прочетете още: Как да изчислим разстоянието между два адреса в Excel (3 начина)
Практически раздел
В края на предоставения файл Excel ще получите лист на Excel, както на следващата снимка, в който можете да упражните всички методи, разгледани в тази статия.
Заключение
За да обобщя, обсъдих 2 начина за изчисляване на разстоянието между два адреса в Excel. И не се колебайте да задавате въпроси в раздела за коментари по-долу. Ще се опитаме да отговорим на всички съответни запитвания възможно най-скоро. И моля, посетете нашия уебсайт Exceldemy за да проучите повече.