Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel中-从坐标列表中查找第二个(或第n个)最近的位置_Excel_Distance_Lookup - Fatal编程技术网

在Excel中-从坐标列表中查找第二个(或第n个)最近的位置

在Excel中-从坐标列表中查找第二个(或第n个)最近的位置,excel,distance,lookup,Excel,Distance,Lookup,例如,下表在蓝色突出显示的单元格中显示原点坐标,在绿色突出显示的单元格中显示可能的目的地 “ClosestSiteID”字段标识最接近原点坐标集的目标坐标集的SiteID 作为参考,单元格A2中使用的公式为: =LOOKUP(1,1/频率(0,SIN((弧度(G$2:G$11-$D2))/2)^2+SIN((弧度(H$2:H$11-$E2))/2)^2*COS(弧度(G$2:G$11))*COS(弧度($D2)),$F$2:$F$11) 如何修改此公式,为给定原点选择第二个或第n个最近的目的地

例如,下表在蓝色突出显示的单元格中显示原点坐标,在绿色突出显示的单元格中显示可能的目的地

“ClosestSiteID”字段标识最接近原点坐标集的目标坐标集的SiteID

作为参考,单元格A2中使用的公式为:

=LOOKUP(1,1/频率(0,SIN((弧度(G$2:G$11-$D2))/2)^2+SIN((弧度(H$2:H$11-$E2))/2)^2*COS(弧度(G$2:G$11))*COS(弧度($D2)),$F$2:$F$11)


如何修改此公式,为给定原点选择第二个或第n个最近的目的地,以填充B列?

一般来说,构造不容易调整,从而给出第二个、第三个等最小值。但是,在这种情况下,如果我们将值合并到
A2
中,我们可以实现所需的修改:

=LOOKUP(1,1/频率(0,99^99^(F2:F11=A2)*(SIN((弧度(G$2:G$11-$D2))/2)^2+SIN((弧度(H$2:H$11-$E2))/2)^2*COS(弧度(G$2:G$11))*COS(弧度($D2)),$F$2:$F$11)

问候