返回行标签以在数组计算中最匹配

时间:2018-06-26 14:51:11

标签: arrays excel

我在Excel中有两个GPS坐标列表。第一个代表沿着小径的连续轨迹。第二个是轨道附近特定航路点的列表。我想沿着小路按顺序排列航路点。

使用数组公式,我可以找到每个航点的追踪点Lat和Long之间的最小差异。但是,我一直试图找出如何返回计算所属的跟踪点。

以下是轨迹表上的数据片段:

Track Data

这是航路点表以及我的阵列计算以查找最小差异:

Waypoint Data

如您所见,我正在使用以下数组公式,通过将当前航路点和所有航迹点的纬度和经度之间的差的绝对值相加来找到最小的差值:

{=MIN(ABS(A2-track!$B$2:$B$513)+ABS(B2-track!$C$2:$C$513))}

我被困住的地方试图弄清楚如何返回差异所属的点。我尝试了VLOOKUPINDEX(MATCH())的不同组合,但是由于我要查找的值是在数组中而不是在轨迹表中计算的,所以我碰到了墙。

我已经在StackExchange上查看了很多有关使用数组返回列名或行名的问题,但是所有这些问题都涉及到显式包含要查找的值的表。

感谢您指出正确的方向。

1 个答案:

答案 0 :(得分:0)

此数组公式(用C + S + E确认)应返回最接近第2行中的Waypoint的轨迹数据点的编号。放入单元格G2中并向下复制。不过我没有测试。

=LARGE(IF(F2=(ABS(A2-track!$B$2:$B$513)+ABS(B2-track!$C$2:$C$513)),track!$A$2:$A$513,0),1)