如何在Excel中计算两个地址之间的距离(3种方法)

  • Share This
Hugh West

这篇文章将告诉你如何计算 距离 微软的Excel有这个很酷的特殊功能和公式,可以让你在两个地址之间选择。 查找距离 如果你在世界两地之间有 GPS坐标 的两个地方,你可以很容易地 确定这些地方之间的距离 在任何你想要的单位。

下载实践工作手册

计算两个地址之间的距离.xlsm

在Excel中计算两个地址之间距离的3种方法

在我们的数据集中,我们有 纬度 经度 俄亥俄州 阿拉斯加 我们将测量它们之间的距离。

ǞǞǞ 纬度 俄亥俄州 阿拉斯加 40.4173北 64.2008 北方 分别是 经度 俄亥俄州 阿拉斯加 82.9071西 149.4937西 分别是。

1.使用Haversine公式来计算两个地址之间的距离

如果你擅长数学,使用 Haversine配方 尽管它将给你一个近似的结果,但这是一个相当好的结果。

首先,我们需要知道 弧长的基本公式 使用该公式,我们将其与地球上两个地方之间的距离进行比较。 该公式如下所示。

S = rθ

S = 两个地址之间的距离

r = 地球的半径

θ = 两个地址在地球中心引入的角度

但如果你有 GPS坐标 的两个地方,你需要确定从 Haversine配方 请看 Haversine配方 如下图所示。

如果你把这与 弧长公式 你会得到如下图所示的结果。

让我们向你介绍一下 Haversine配方 .

φ 1 = 第一个地方的纬度

φ 2 = 第二个地方的纬度

1 = 第一个地方的经度

2 = 第二个地方的纬度

现在,我将向你展示如何在Excel中一步一步地应用这个公式。

步骤。

  • 首先,做一个单元格来存储距离值,并在单元格中输入以下公式 C8 .

=2*6400*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

该公式使用 缩写:ASIN , SQRT , 冼国华 COS 职能 这很简单,如果你只是看一下 Haversine配方 我们测量的距离是 千米 所以我们把地球的半径以千米为单位,就是 6400公里 . 缩写:ASIN 指的是 反正弦波 ArcSine 如果我们比较一下这些参数的角 Haversine配方 用我们的Excel公式,我们得到。

1 =俄亥俄州的纬度 (C5)

2 =阿拉斯加的纬度 (C6)

1 =俄亥俄州的经度 (D5)

2 =阿拉斯加的纬度 (D6)

  • 之后,按 进入 按键,以查看 俄亥俄州 阿拉斯加 千米 .

  • 此后,如果你想 以英里为单位测量距离 ,在单元格中使用以下公式 C8 .

=2*3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

在这里,我们使用了我们用来寻找距离的同样的Excel公式,在 英里 因此,我们把地球的半径取为 英里 这就是 3959 .

因此,你可以计算出 距离 在Excel中的两个地球地址之间通过应用 Haversine配方 .

阅读更多。 如何在Excel中计算两个坐标之间的距离(2种方法)

2.应用Excel的CONCATENATE和SUBSTITUTE函数来计算两个地址之间的距离

你可以创建一个 谷歌地图 链接,找到 距离 使用Excel在两个地址之间进行计算 连结 替换 职能 让我们来看看下面的过程。

步骤。

  • 首先,输入以下公式 C8 .

=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr="。 SUBSTITUTE(B5," ", "+"),"&daddr=" ,SUBSTITUTE(B6," ", "+")

这个公式将创建一个 谷歌地图 你如何能从 俄亥俄州 阿拉斯加 ...... 连结 函数将添加 地址 中的链接和 替换 函数将把 地址 .

  • 接下来,按 进入 按钮,你会看到 谷歌地图 链接在 C8 .

  • 之后,使用这个 链接 在你的互联网搜索栏中,你会得到 距离 关于这些的信息 两个地址 .

最后,你可以计算出 距离 通过应用Excel中的两个地球地址之间的 连结 替换 职能。

阅读更多。 如何在Excel中计算两个城市之间的距离

3.使用VBA在Excel中计算两个地址之间的距离

另一种计算方法是 距离 在两个地址之间,可以通过做一个 API ( 应用编程接口 )链接并使用它来创建一个 用户定义的功能 VBA 你可以做一个 API 链接在 要创建一个 滨州地图 你自己的API密钥。 点击这里 .

步骤。

  • 首先,去到 开发商 >>。 视觉基础 .

  • 之后,选择 插入 >>。 模块 以打开 VBA模块 .

  • 稍后,在以下代码中输入 VBA模块 我们正在创建一个 用户定义的功能 来计算的 距离 英里 .
 Option Explicit Public Function DistanceInMiles(First_Location As String, _ Final_Location 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=mi" Set Setup_HTTP = CreateObject("MSXML2.ServerXMLHTTP") Output_Url = Initial_Point & First_Location & Ending_Point & Final_Location & Distance_Unit Setup_HTTP.Open "GET", Output_Url, False Setup_HTTP.SetRequestHeader "User-Agent", "Mozilla/4.0(兼容; MSIE 6.0; Windows NT 5.0)"Setup_HTTP.Send ("") DistanceInMiles = Round(Round(WorksheetFunction.FilterXML(Setup_HTTP.ResponseText, _ "/TravelDistance"), 3), 0) End Function 

代码解释

  • 首先,我们把我们的 职能 作为 距离在英里 我们还插入了 3 参数。 First_Location As String, Final_Location As String Target_Value为字符串 .
  • 之后,我们宣布 初始点 , 结束点 , 距离_单位 輸出_Url 作为 字符串 ; 设置_HTTP 作为 宗旨 .
  • 后来,我们设定 初始点 为起点的 网址链接 , 结束点 作为 目的地 距离_单位 哩数 .
  • 之后,我们设置必要的参数来创建我们的 VBA 代码和 API
  • 最后,我们建立了我们的 用户定义的功能 .
  • 之后,按照同样的程序,我们又做了一个 用户定义的功能 以求得在 千米 .

你可以看到,我们只是改变了 距离_单位 千米 .

  • 此后,在以下图片中,你可以看到 API 键入单元格 C8 .

  • 之后,在单元格中输入以下公式 C8 .

=DistanceInMiles(E5,E6,C8)

  • 接下来,按 进入 按钮,你会看到 距离 之间 俄亥俄州 阿拉斯加 英里 .

  • 之后,使用以下公式查看 距离 千米 .

=DistanceInKM(E5,E6,C8)

因此,你可以计算出 距离 在两个地址之间使用 VBA API 钥匙。

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

需要记住的事情

  • 牢记这一点,你需要把大约正确的 GPS坐标 这些 国家 因为你是用互联网来寻找距离。 国家 西部 子午线 ,他们都是 经度 将是负数。

练习部分

在本节中,我将给你本文的数据集,以便你可以自己练习这些方法。

总结

可以说,你将学到非常有效的方法,如何计算出 距离 如果你对本文有任何更好的方法或问题或反馈,请在评论框中分享。 这将有助于我丰富我接下来的文章。 更多疑问,请访问我们的网站 淘宝网 .

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.