Excel公式使用纬度/经度坐标计算多个点之间的距离

met*_*lah 0 excel formula

我目前正在制定一个带有两个表的模拟数据库架构:BookingWaypoint

  • Booking 存储出租车预订信息。

在此输入图像描述

  • Waypoint 存储旅途中的接送点以及经纬度位置。每个序列都是旅程中的一站。

在此输入图像描述

如何在 Excel 中计算每次旅程中不同站点之间的距离(使用纬度/经度数据)?

有没有一种方法可以在Excel中以编程方式定义它,即可以将公式放入列mileage(表)中,在表中查找该旅程的Booking匹配序列(通过)并返回结果?bookingIdWaypoint

示例1:

行程有 2 站:

1   1   1   MK4 4FL, 2, Levens Hall Drive, Westcroft, Milton Keynes 52.002529   -0.797623
2   1   2   MK2 2RD, 55, Westfield Road, Bletchley, Milton Keynes   51.992571   -0.72753
Run Code Online (Sandbox Code Playgroud)

根据 Google 的数据,4.1 英里,在表mileage中的列中输入Booking,其中id = 1

示例2:

行程共 3 站:

6   3   1   MK7 7DT, 2, Spearmint Close, Walnut Tree, Milton Keynes 52.017486   -0.690113
7   3   2   MK18 1JL, H S B C, Market Hill, Buckingham              52.000674   -0.987062
8   3   1   MK17 0FE, 1, Maids Close, Mursley, Milton Keynes        52.040622   -0.759417
Run Code Online (Sandbox Code Playgroud)

根据 Google,27.7 英里,在表mileage中的列中输入Booking,其中id = 3

小智 6

如果您想找到两点之间的距离,只需使用此公式,您将得到以公里为单位的结果,如果需要,只需转换为英里即可。

A 点:LAT1、LONG1 B 点:LAT2、LONG2

ACOS(COS(弧度(90-纬度1)) *COS(弧度(90-纬度2)) +SIN(弧度(90-纬度1)) *SIN(弧度(90-纬度2)) *COS(弧度(长1-长2) ))*6371

问候