![匹配同一数组中最接近的 5 个](https://linux22.com/image/1614470/%E5%8C%B9%E9%85%8D%E5%90%8C%E4%B8%80%E6%95%B0%E7%BB%84%E4%B8%AD%E6%9C%80%E6%8E%A5%E8%BF%91%E7%9A%84%205%20%E4%B8%AA.png)
我有一个客户列表和纬度/经度坐标(3列:分别为c,u,v)我想创建5列来解析为最接近的5个客户。
到目前为止我正在使用
min(sqrt(([lat1]-[lat_array])^2+([long1]-[long_array])^2))
我还需要在另一个公式中加入这个公式
如果 [lat1,long1] 与 [lat70,long70] 第二接近,则显示 [customer70]
编辑 - 感谢 Scott Carner 为我提供 SMALL(),它提供了原始距离。现在要显示与距离相关的客户名称,我尝试
LOOKUP(small(sqrt(([lat1]-[lat_array])^2+([long1]-[long_array])^2),2), [list of distances], [customer_array])
中间部分让我很困惑,我需要创建一个数组来存储所有距离 customer1 的距离
编辑 2- 终于到了桌面,清理了帖子。这里还有一张我测试的图片
从现在起,我将使用此表特有的公式
仍在研究[距离列表]。当我尝试
=LOOKUP(SMALL(SQRT((A2-$A$2:$A$5)^2+(B2-$B$2:$B$5)^2),2),SQRT((A2-$A$2:$A$5)^2+(B2-$B$2:$B$5)^2),$C$2:$C$5)
的值SQRT((A2-$A$2:$A$5)^2+(B2-$B$2:$B$5)^2)
通常在单独返回时作为溢出数组返回,但似乎不具备 LOOKUP() 内部数组的属性,因为更改代码以排除 a 会使 LOOKUP() 解析为 b,这是我列表中的第二个值,但距离 a 最远
EDIT 3 停止使用 LOOKUP 开始使用 INDEX(REF,MATCH())