Как рассчитать расстояние в Excel с помощью Google Maps

  • Поделись Этим
Hugh West

Excel имеет широкий спектр применения. И при использовании VBA тогда кажется, что мы можем делать в Excel все, что захотим. Поэтому, конечно, мы можем найти расстояние между местами используя карту в Excel. В этой статье я покажу краткое руководство по расчету расстояния в excel с помощью Google Maps с четкими шагами и ясными иллюстрациями.

Скачать Практическое пособие

Вы можете скачать бесплатную рабочую тетрадь Excel отсюда и потренироваться самостоятельно.

Calculate-Distance-with-Google-Maps.xlsm

Использование определяемой пользователем функции для расчета расстояния в Excel с помощью карт Google

Здесь мы найти расстояние между Макартур-Парком и Джерси-Сити с помощью Google Maps.

Во-первых, нам нужно знать одну важную вещь. Чтобы рассчитать расстояние в Excel с помощью Google Maps, нам потребуется API ключ. API обозначает Интерфейс прикладного программирования . Excel соединяется с Google Maps с помощью API-ключа для сбора необходимых данных. Некоторые карты предоставляют бесплатные API-ключи, например Bing Maps. Но Google Maps не предоставляет бесплатный API. Хотя вы можете управлять бесплатным API, это не будет работать идеально. Поэтому вам придется купить API. API ключ по этой ссылке.

Здесь мне удалось бесплатно API Ключ. Он не работает правильно, просто использован для примера. Мы будем использовать VBA для создания функция, определяемая пользователем под названием Рассчитать_расстояние на найти расстояние У него будет три аргумента - Место старта , Место назначения и 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 = "//maps.googleapis.com/maps/api/distancematrix/json?origins=" second_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 Рассчитать_расстояние .
  • Затем объявил некоторые переменные первое_значение, второе_значение и последнее_значение для аргументов нашей пользовательской функции.
  • Установите значения для переменных (каждое значение самоописательно), и установите mitHTTP объект в ServerXMLHTTP использовать ПОЛУЧИТЬ метод (используемый позже, это свойство объекта позволит использовать ПОСТ также метод).
  • Url это комбинация всех значений, установленных ранее, свойство open mitHTTP объект использовал его.
  • После присвоения значений библиотечная функция выполняет остальную часть вычислений.

Теперь вы видите, что наша функция готова к использованию.

  • В Клетка C8 , введите следующую формулу
=Calculate_Distance(C4,C5,C6)

  • Наконец, просто нажмите кнопку ENTER для получения расстояния. Он покажет расстояние в формате Единица измерения .

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

Плюсы и минусы при расчете расстояния с помощью Google Maps

  • Вы должны иметь действительный API-ключ .
  • Приведенный выше код даст результат в Единица измерения .
  • Определяемая пользователем функция использует географические названия напрямую, нет необходимости использовать координаты.
  • Убедитесь, что вы воспользовались действительным местом.

Преимущества и недостатки расчета расстояния с помощью Google Maps

Преимущества

  • Для большой пары мест это вполне осуществимо, потому что мы можем использовать Наполнительная рукоятка инструмент для копирования формулы. Это невозможно в Карты Google
  • Это довольно быстрый способ.
  • Нет необходимости использовать координаты.

Недостатки

  • Он не может работать с координатами.
  • Вы не получите карту или маршрут, только расстояние.
  • Приблизительное совпадение географических названий не сработает.

Заключение

Я надеюсь, что описанные выше процедуры будут достаточно хороши для расчета расстояния в Excel с помощью Google Maps. Не стесняйтесь задавать любые вопросы в разделе комментариев и, пожалуйста, дайте мне обратную связь. посетить ExcelWIKI чтобы узнать больше.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.