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

  • Share This
Hugh West

在许多情况下,你可能需要 查找距离 在Microsoft Excel中,你可以在很短的时间内批量完成这一工作。 本文演示了在Excel中计算两个坐标之间距离的两种方法。

下载实践工作手册

你可以从以下链接下载练习册。

计算两个坐标间的距离.xlsm

坐标系的基础知识

坐标系是一个系统,特别是在几何学中,它使用一个或多个数字来定位一个点的位置或计算其他几何参数。 有许多种坐标系。 例如:直角坐标系,大地坐标系等。

什么是直角坐标系?

笛卡尔坐标系是一个使用参考轴来定位任何位置或计算任何几何数据的系统。 一个点的坐标是由这些参考轴的距离决定的。 例如。

在二维平面中,X轴表示水平面,Y轴表示垂直面。 因此,如果有人给出一个点的坐标(2,3),就意味着这个点距离水平面有2个单位,距离纵向面有3个单位。

直角坐标系的距离公式

在二维直角坐标系中计算距离的算术公式如下。

d=√((x2-x1)^2+(y2-y1)^2)

在这里。

  • x 1 =点1与X轴的距离。
  • x 2 =点2与X轴的距离。
  • y 1 =点1与y轴的距离。
  • y 2 =点2与y轴的距离。
  • d =点1和点2之间的距离。

什么是大地坐标系?

大地坐标系是一种以椭圆体为基准来定位点的位置和测量其他几何参数的坐标系。 我们通常使用纬度和经度来定位这个坐标系中的位置。

这里,纬度是指从赤道向北或向南的距离,经度是指从本初子午线向东或向西的距离。 另外,纬度和经度的正值分别意味着北方和东方,负值意味着南方和西方。

大地坐标系的距离公式

在大地坐标系中计算两个坐标之间距离的算术公式如下。

d=acos(cos(radian(90-lat1))*cos(radian(90-lat2))+

sin(radian(90-lat1))*sin(radian(90-lat2)*cos(radian(long1-long2)))*3959

在这里。

  • lat1 = 地点1的纬度
  • 纬度2 = 地点2的纬度
  • 长1 = 地点1的经度
  • 长2 = 地点2的经度
  • d = 地点1和地点2之间的距离,英里

在Excel中计算两个坐标之间距离的2种方法(直角坐标系)

假设,你有一个数据集,其中有不同情况下的点1和点2的坐标,你想计算它们之间的距离。 现在,我将向你展示两种方法来做到这一点。

1.使用算术公式来计算距离

你可以通过手动插入算术公式来轻松地计算距离。 现在,按照下面的步骤来计算距离。

阶梯 :

  • 首先,创建一个列,接下来是 距离。
  • 接下来,选择单元格 G6 并插入以下公式。
=sqrt((e6-c6)^2 + (f6-d6)^2)

在这里。 G6 是距离栏的起始单元格。 另外。 C6、D6、E6和F6 的单元格表示起始单元格,用于 x 1 , x 2 , y 1, y 2 另外,这里的 SQRT函数 是用来寻找平方根的。

  • 最后,拖动 填充手柄 剩下的一列,你就可以得到你的距离。

2.应用VBA代码在Excel中计算两个坐标之间的距离

你也可以使用 VBA 现在,请按照下面的步骤来做。

阶梯 :

  • 首先,按 ALT + F11 以打开 VBA 窗口。
  • 现在,选择 本工作手册 右键点击 就可以了。
  • 接下来,依次选择 插入 > 模块 .

  • 在这一点上,复制以下代码并将其粘贴到空白框中。
 这个代码将创建一个在笛卡尔坐标系中计算距离的函数 Public Function DistCartesian(x1 As Double, y1 As Double, x2 As Double, y2 As Double) '我们使用计算距离的算术公式来创建函数 A = (x2 - x1) ^ 2 + (y2 - y1) ^ 2 DistCartesian = Math.Sqr(A) End Function 

  • 之后,按 F5 这里,这段代码创建了一个新的函数 怛特罗亚人 这将帮助你计算在直角坐标面中两个坐标之间的距离。
  • 现在,选择单元格 G6 并插入以下公式。
=DistCartesian(C6,D6,E6,F6)

这里,这个函数的参数是 x 1 , y 1 , x 2, y 2 分别是。

  • 最后,拖动 填充手柄 为其余的细胞。

阅读更多。 如何在Excel中计算两个GPS坐标之间的距离

在Excel中计算两个坐标之间距离的2种方法(大地坐标系)

假设在大地坐标系中,你有两个不同地点的纬度和经度。 现在,按照下面的步骤来计算 这两个地点之间的距离 .

1.使用算术公式来计算距离

计算距离的最快方法之一是把算术公式手动计算距离。 现在,按照下面的步骤来计算大地坐标系中两个坐标之间的距离。

阶梯 :

  • 首先,添加一个列为 距离(英里) .
  • 然后,选择单元格 G6 并插入以下公式。
=acos(cos(radians(90-c6))*cos(radians(90-e6))+sin(radians(90-c6))*sin(radians(90-e6))*cos(radians(d6-f6)))*3959

在这里。 C6 , D6,E6。 F6 表示列的第一个单元格 纬度1(°)。 , 经度1(°)。 , 纬度2(°)。 经度2(°)。 分别是。

公式解释

在这个公式中。

  • RADIANS功能 是用来转换一个在 度数(°) 中的一个值。 雷迪安 单位。
  • COS功能 用来求一个角度的余弦。
  • SIN功能 用来寻找一个角度的正弦。
  • ACOS功能 用于返回一个数字的反余弦或逆余弦。
  • 最后,数量 3959被乘以 得到的距离在 哩数 相反,你可以 乘以6371 来得到结果,在 千米 .

  • 最后,拖动 填充手柄 栏目的其余部分,以获得你的距离。

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

2.应用VBA代码在Excel中计算两个坐标之间的距离

你也可以使用 VBA 现在,请按照下面的步骤来做,创建一个用于计算大地坐标系中距离的函数。

阶梯 :

  • 首先,按 ALT + F11 以打开 VBA 窗口。
  • 现在,选择 本工作手册 右键点击 就可以了。
  • 接下来,依次选择 插入 > 模块 .

  • 插入模块后,复制以下代码并粘贴在空白处。
 此代码将创建一个函数来计算大地坐标系中的距离(英里) Public Function DistGeo(Lati1 As Double, Longi1 As Double, Lati2 As Double, Longi2 As Double) With WorksheetFunction P = Cos(.Radians(90 - Lati1)) Q = Cos(.Radians(90 - Lati2)) R = Sin(.Radians(90 - Lati1)) S = Sin(.Radians(90 - Lati2) T = Cos(.Radians(Longi1 - Longi2) ) ' 将3959改为6371,得到你的结果(千米) DistGeo = .Acos(P * Q + R * S * T) * 3959 End With End Function 

  • 在这一点上,按 F5 通过这样做,你将创建一个新的函数 拓展性地质学 这将帮助你计算出在一个 大地坐标系 .
  • 之后,选择单元格 G6 并写下以下公式。

=DistGeo(C6,D6,E6,F6)

这里的论点是 拓展性地质学 功能是 纬度1(°),经度1(°),纬度2(°)。 经度2(°)。 分别是。

  • 最后,拖动 填充手柄 为该列的其余单元格。

阅读更多。 如何在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.