我有一个道路上的东西列表,我正在寻找一个可以告诉我最近的一个的公式。考虑 -
Road Location (m) Nearest
0001 0080 0230
0001 0230 0356
0001 0356 0400
0001 0400 0356
0002 0010 0034
0002 0034 0010
最近的'是我想要达到的目标,即对于任何给定的东西,在同一条道路上最近的东西的位置值是什么。
我找到的索引/匹配很接近,但没有条件他们在同一条路上,并且它不排除当前行。 (Use of INDEX MATCH to find absolute closest value)
我正在使用Excel 2010。
答案 0 :(得分:0)
如果A1:C1是标题,那么在C2中:
=INDEX(B:B,MAX(IF(SMALL(IF($A$2:$A$100=A2,ABS($B$2:$B$100-B2)),2)=IF($A$2:$A$100=A2,ABS($B$2:$B$100-B2)),ROW($A$2:$A$100))))
这是一个数组公式,必须用 ctrl + shift + 输入确认。
如果" road"它也会在#NUM
时出错。只有一个条目。在这种情况下,请将其包装在=IFERROR(...,"")
中。远离这一点,它应该完全符合您的要求。
修改强>
忽略双打(所以永远不会有0),你可以用COUNTIFS
这样做:
=INDEX(B:B,MAX(IF(SMALL(IF($A$2:$A$100=A2,ABS($B$2:$B$100-B2)),COUNTIFS($A$2:$A$100,A2,$B$2:$B$100,B2)+1)=IF($A$2:$A$100=A2,ABS($B$2:$B$100-B2)),ROW($A$2:$A$100))))
这是一个数组公式,必须用 ctrl + shift + 输入确认。
因此,我们只需将k
的{{1}}从SMALL
更改为2
。
如果您还有任何疑问,请询问;)