Как да изчислим разстоянието в Excel с помощта на Google Maps

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

Excel има широк спектър от приложения. И докато използвате VBA тогава изглежда, че можем да правим каквото си поискаме в Excel. Така че, разбира се, можем да намиране на разстоянието между местата В тази статия ще покажа бързо ръководство за изчисляване на разстоянието в Excel с Google Maps с резки стъпки и ясни илюстрации.

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

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

Изчисляване на разстоянието с помощта на Google-Maps.xlsm

Използване на дефинирана от потребителя функция за изчисляване на разстоянието в Excel с Google Maps

Тук ще намиране на разстоянието между MacArthur Park и Jersey City с помощта на Google Maps.

За да изчислим разстоянието в Excel с помощта на Google Maps, ще ни е необходим API ключ. API означава Интерфейс за програмиране на приложения . Excel се свързва с Google Maps, като използва API ключ за събиране на необходимите данни. Някои карти предоставят безплатни API ключове като Bing Maps. Но Google Maps не предоставя безплатен API. Въпреки че управлявате безплатен API, по някакъв начин това няма да работи перфектно. Така че ще трябва да закупите API ключ от тази връзка.

Тук успях да направя безплатен API Не работи правилно, просто се използва, за да се покаже като пример. Ще използваме VBA за създаване на дефинирана от потребителя функция с име Изчисляване на разстоянието (Calculate_Distance) към намиране на разстоянието . Той ще има три аргумента - Начално място , Дестинация , и Ключ за API . Сега нека започнем процедурите.

Стъпки:

  • Натиснете ALT + F11 за да отворите Прозорец VBA .

  • След това щракнете върху следното: Вмъкване> Модул за създаване на нов модул.

  • По-късно въведете следните кодове в прозореца-
 Public Function Calculate_Distance(start As String, dest As String, Alink As String) As Double Dim first_Value As String, second_Value As String, last_Value As String Dim mitHTTP As Object first_Value = "//maps.googleapis.com/maps/api/distancematrix/json?origins=" second_Value = "&destinations=" last_Value = "&mode=car&language=pl&sensor=false&key=" & Alink Set mitHTTP =CreateObject("MSXML2.ServerXMLHTTP") Url = first_Value & Replace(start, " ", "+") & second_Value & Replace(dest, " ", "+") & last_Value mitHTTP.Open "GET", Url, False mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" mitHTTP.Send ("") If InStr(mitHTTP.ResponseText, """distance"" : {"") = 0 Then GoTo ErrorHandl Set mit_reg =CreateObject("VBScript.RegExp"): mit_reg.Pattern = """value"".*?([0-9]+)": mit_reg.Global = False Set mit_matches = mit_reg.Execute(mitHTTP.ResponseText) tmp_Value = Replace(mit_matches(0).Submit_matches(0), ".", Application.International(xlListSeparator)) Calculate_Distance = CDbl(tmp_Value) Exit Function ErrorHandl: Calculate_Distance = -1 End Function 
  • Тогава нищо, просто се върнете към листа си.

Разбивка на кода:

  • Първо, използвах процедура Public Function Изчисляване на разстоянието (Calculate_Distance) .
  • След това декларира някои променливи first_Value, second_Value и last_Value за аргументите на нашата дефинирана от потребителя функция.
  • Задайте стойностите на променливите (всяка стойност е самоописателна) и задайте mitHTTP обект в ServerXMLHTTP да използвате GET (използвано по-късно, това свойство на обекта ще позволи използването на POST метод също).
  • Урл е комбинацията от всички зададени по-рано стойности, свойството open на mitHTTP обект го използва.
  • След присвояване на стойностите библиотечната функция извършва останалата част от изчисленията.

Сега виждате, че нашата функция е готова за използване.

  • В Клетка C8 , въведете следната формула-
=Изчисляване на разстоянието(C4,C5,C6)

  • Накрая просто натиснете бутона ВЪВЕДЕТЕ за да получите разстоянието. Той ще покаже разстоянието в Мерна единица .

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

Плюсове и минуси при изчисляване на разстоянието с Google Maps

  • Трябва да имате валидно Ключ за API .
  • Горният код ще даде резултата в Мерна единица .
  • Дефинираната от потребителя функция използва директно имената на населените места, без да е необходимо да се използват координати.
  • Уверете се, че сте използвали валидно място.

Предимства и недостатъци на изчисляването на разстоянието с Google Maps

Предимства

  • За няколко големи места това е напълно възможно, защото можем да използваме Дръжка за пълнене инструмент за копиране на формулата. Това не е възможно в Карти на Google
  • Това е доста по-бърз начин.
  • Не е необходимо да използвате координати.

Недостатъци

  • Тя не може да работи с координати.
  • Няма да получите картата или маршрута, а само разстоянието.
  • Няма да работи с приблизителното съвпадение на имената на местата.

Заключение

Надявам се, че описаните по-горе процедури ще бъдат достатъчно добри за изчисляване на разстоянието в Excel с Google Maps. Не се колебайте да зададете всеки въпрос в раздела за коментари и моля да ми дадете обратна връзка. ExcelWIKI за да проучите повече.

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