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

  • Споделя Това
Hugh West

Има няколко приложения за Excel Специалната функция и формула в Microsoft Excel може да определи разстоянието между два конкретни града или места на планетата. изчисляване на разстоянието между които и да е две места на картата. Тя ви позволява да изчислите действителното разстояние и ще ви предостави прилична оценка на това колко време ще ви отнеме пътуването. Но с Excel можем лесно да направим това. В тази статия ще демонстрираме няколко начина за изчисляване на разстоянието между два града в Excel.

Изтегляне на работна тетрадка за практика

Можете да изтеглите работната тетрадка и да се упражнявате с тях.

Изчисляване на разстоянието между два града.xlsm

Въведение в набора от данни

За да изчислим разстоянието между два града, първо трябва да подготвим набор от данни. Да предположим, че имаме два града Лос Анджелис който е голям град в щата Калифорния , и Паско който е градът на Вашингтон Сега трябва да намерим разстоянието между тях. За тази цел трябва да знаем географска ширина и географска дължина Можем просто да намерим географската ширина и дължина на всеки град с Excel. Нека видим как можем да направим това.

СТЪПКИ:

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

  • След това, за да намерите географската ширина, изберете клетката, в която сте поставили географската ширина, и въведете формулата в нея.
=B5.Latitude

  • Натиснете Въведете за да видите резултата.

  • По същия начин намираме географската ширина на клетката B6 .
  • Сега, за да откриете географската дължина, а също и географската ширина, изберете клетка и въведете в нея следната формула.
=B5.Longitude

  • Натиснете Въведете на клавиатурата.

  • По същия начин получаваме B6 ', като следвате предишните стъпки.
  • Това е всичко, сега вече имаме географската ширина и дължина на двата града. Така че нашият набор от данни вече е готов за използване.

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

Намирането на разстоянието между две места ще ни позволи да определим разстоянието между две жилища. Използвайки тази информация, можем да пресметнем колко време ще ни отнеме пътуването между жилищата. За да намерим разстоянието между два града, използваме горепосочения набор от данни, който току-що направихме.

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

Едно от основните уравнения за изследване на океаните е Формула на Haversine , която може да се използва за изчисляване на разстоянието между две места в сферична равнина, при условие че сте определили географската им ширина и дължина, както и радиуса на полусферата. GPS устройствата по същество са я автоматизирали. Нека следваме стъпките за използване на формулата за изчисляване на разстоянието между два града.

СТЪПКИ:

  • За да започнете, изберете клетката, в която искате да получите разстоянието, и така, избираме клетката C8 .
  • След това поставете Формула на Haversine в тази избрана клетка.
=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 Синусът на ъгъл в радиани се връща чрез функцията SIN на Excel . Косинусът на ъгъл в радиани се връща чрез функцията COS . Радианите се превръщат в градуси с помощта на функцията RADIANS на Excel . Можем да комбинираме тези функции, за да получим разстоянието между два града. GPS устройства. Нека приложим комбинацията от тези функции, за да получим разстоянието между два града, като преминем през стъпките.

СТЪПКИ:

  • На първо място изберете клетката, в която искате да получите разстоянието; в този случай избираме клетката C8 .
  • След това вмъкнете комбинацията от формулата на функцията в избраната клетка.
=ACOS(COS(РАДИАН(90-C5)) *COS(РАДИАН(90-C6)) +SIN(РАДИАН(90-C5)) *SIN(РАДИАН(90-C6)) *COS(РАДИАН(D5-D6))) *6371

  • За да видите резултата, натиснете Въведете в самия край.

  • Така, прилагайки формулата, получаваме числото 1357.033633 .

Прочетете още: Как да изчислим разстоянието между две GPS координати в Excel

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

За да комбинирате две или дори повече последователности от думи в една фраза, използвайте текстовата функция CONCATENATE . тридесет могат да бъдат обединени с помощта на Excel CONCATENATE която връща резултата като текст. Функцията SUBSTITUTE на Excel използва сравняване за промяна на текст в определен низ. Можем да комбинираме тези две функции, за да създадем Карта на Google връзка, за да намерите разстояние между два адреса Да използваме формулата, за да определим разстоянието между два града, като преминем през стъпките.

СТЪПКИ:

  • По същия начин в предишния метод изберете клетката, в която искате да получите Карта на Google ; в този случай избираме клетка C8 .
  • След това въведете формулата в избраната клетка.

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

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

  • За да покажете резултатите, натиснете бутона Въведете ключ.

С помощта на тази формула можете да се свържете с Карта на Google която показва маршрута от Лос Анджелис към Паско . Градовете ще бъдат добавени към връзката с помощта на 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 и 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 и Карта на Bing Следователно, за да използваме тази техника, първо трябва да установим API Това е много просто, но за съжаление само Карта на Bing предлага безплатен API Ще демонстрираме този начин, като използваме безплатния API на Bing Map ключ. Кликнете тук за да създадете свой собствен Ключ за 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) Край на функцията 
  • Запазете кода, като запазите цялата работна книга като работна книга с микропрограми и разширението ще бъде .xlsm .

  • Това ще създаде име на дефинирана от потребителя функция CityDistance .

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

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

Заключение

Горните методи ще ви помогнат да Изчисляване на разстоянието между два града в Excel Надявам се, че това ще ви помогне! Моля, уведомете ни в раздела за коментари, ако имате някакви въпроси, предложения или обратна връзка. Или можете да хвърлите поглед на другите ни статии в ExcelWIKI.com блог!

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.