如何在Excel中用谷歌地图计算距离

  • Share This
Hugh West

Excel的应用范围很广。 而在使用时 VBA 那么,我们似乎可以在Excel中做任何我们想做的事情。 因此,我们当然可以 找出地方之间的距离 在这篇文章中,我将通过清晰的步骤和明确的图示,展示在Excel中使用谷歌地图计算距离的快速指南。

下载实践工作手册

你可以从这里下载免费的Excel工作簿,自己练习。

用Google-Maps计算距离.xlsm

使用用户定义的函数在Excel中计算与谷歌地图的距离

在这里,我们将 找出距离 在麦克阿瑟公园和泽西市之间,使用谷歌地图。

首先,我们需要知道一件重要的事情。 要在Excel中使用谷歌地图计算距离,我们将需要一个 API 钥匙。 API 代表着 应用编程接口 .Excel使用API密钥与谷歌地图连接,以收集所需的数据。 一些地图提供免费的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 =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(兼容;MSIE 6.0;Windows NT 5.0)" mitHTTP.Send("" ) If InStr(mitHTTP.ResponseText, " "距离":{" )=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 
  • 然后什么都没有,只是回到你的工作表。

代码分解。

  • 首先,我使用了一个公共函数程序 计算_距离 .
  • 然后声明了一些变量 first_Value, second_Value, and last_Value 为我们用户定义的函数的参数。
  • 设置变量的值(每个值都是自述的),并设置 淘宝网 对象在 服务器XMLHTTP 以利用 争取 方法(以后使用,这个对象属性将允许使用 帖文 方法也是如此)。
  • 网址 是前面设置的所有值的组合,是指 淘宝网 物体使用了它。
  • 赋值后,库函数进行其余的计算。

现在你看,我们的函数已经可以使用了。

  • 细胞C8 ,键入以下公式-
=Calculate_Distance(C4,C5,C6)

  • 最后,只要按一下 进入 它将显示距离在 计量单位 .

阅读更多。 如何在Excel中计算两个地址之间的驾驶距离

用谷歌地图计算距离时的优点和缺点

  • 你必须有一个有效的 API密钥 .
  • 上面的代码将给出在 计量单位 .
  • 用户定义的函数直接使用地名,不需要使用坐标。
  • 请确保你使用了一个有效的地方。

用谷歌地图计算距离的优势和劣势

优势

  • 对于大的几个地方,这是相当可行的,因为我们可以用 填充手柄 在《中国经济周刊》中,这是不可能的,因为在《中国经济周刊》中,这是不可能的。 谷歌地图
  • 这是一个相当快的方法。
  • 不需要使用坐标。

劣势

  • 它不能用坐标来工作。
  • 你不会得到地图或路线,只是你会得到距离。
  • 在地名大致相符的情况下,它不会起作用。

总结

我希望上述程序能够很好地在Excel中计算出与谷歌地图的距离。 欢迎在评论区提出任何问题,并请给予我反馈。 访问 ǞǞǞ 以探索更多。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.