我有两个需要匹配的坐标列表。
一个非常大的列表(434,561行),结构如下(考虑Excel中的A、B和C列):
code (ID) | Latitude | Longitude
----------|------------|-----------
point455 | 4.513523 | 23.754457
point478 | 74.123523 | 83.757459
[...]
具有相同结构的另一组点的第二个列表(4000行)。
我希望将第二个列表中的每个点与第一个列表中协调得最近的点进行匹配。就像这样:
(second list)
code (ID) | Latitude | Longitude | Closest point
----------|------------|-------------|--------------
tag165 | 4.513523 | 23.754457 | point488
tag198 | 74.123523 | 83.757459 | point124
[...]
我试着分别匹配纬度和经度。下面的公式给出了包含最接近的长整型值的单元格中的值:
=INDEX(ALLStops!B2:ALLStops!$B$434561, MATCH(MIN(ABS(ALLStops!$B$2:ALLStops!$B$434561-B2)), ABS(ALLStops!B2:ALLStops!$B$434561-B2), 0))
这两个列具有相同的公式,并被单独处理。然后,我使用=MATCH(E2,ALLStops!B2:B434561,0)
来获取行。
但是大约1/3的条目具有最接近的坐标在不同行上的值,这显然是无用的。
因此,最接近匹配的两个坐标值需要在同一行上,我猜计算必须压缩为一个。
有没有人能建议一种抑制这种情况的方法,或者一种更整洁(内存消耗更少)的方法?
https://stackoverflow.com/questions/54764419
复制相似问题