【发布时间】:2013-11-19 12:50:40
【问题描述】:
第 1 行:约克 / 利兹 / 温莎 / 柴郡
第 2 行:10 / 8 / 6 / 9
所以我想在每一行的其他数据中找到最接近约克的匹配项,并带回最接近匹配项的标题。
所以我想为第 2 行(约克 = 10)带回的答案是“CHESHIRE”,因为 9 最接近 10。
谢谢!
【问题讨论】:
-
如果其中一个值是 11 怎么办?
第 1 行:约克 / 利兹 / 温莎 / 柴郡
第 2 行:10 / 8 / 6 / 9
所以我想在每一行的其他数据中找到最接近约克的匹配项,并带回最接近匹配项的标题。
所以我想为第 2 行(约克 = 10)带回的答案是“CHESHIRE”,因为 9 最接近 10。
谢谢!
【问题讨论】:
如果您的数据在A1:D2 中,试试这个“数组公式”
=INDEX(B$1:D$1,MATCH(MIN(ABS(A2-B2:D2)),ABS(A2-B2:D2),0))
用 CTRL+SHIFT+ENTER
确认如果 2 个或多个值同样接近,则匹配将与左起第一个匹配.....
【讨论】:
避免使用数组公式是有原因的,例如:
A Microsoft page(查找“使用数组公式的缺点”)。
This.
如果您关心这一点,并且不想使用数组公式,则以下方法可行。
=INDEX(B$1:D$1,MATCH(MIN(INDEX(ABS($B2:$D2-$A2),0)),INDEX(ABS($B2:$D2-$A2),0),0))
感谢Brad 和barry houdini,他们帮助解决了this question。
【讨论】: