使用INDEX
andMATCH
进行查找,遇到了某人以以下形式使用的表达式:
=INDEX(*range used*, MATCH(MIN(ABS(data!E2-lookup!$L$5:$L$105)),ABS(data!E2-lookup!$L$5:$L$105),0))
lookup!$L$5:$L$105
是值查找表范围。我知道它应该做什么,但这data!E2-lookup!$L$5:$L$105
部分没有意义。这是如何运作的?
使用INDEX
andMATCH
进行查找,遇到了某人以以下形式使用的表达式:
=INDEX(*range used*, MATCH(MIN(ABS(data!E2-lookup!$L$5:$L$105)),ABS(data!E2-lookup!$L$5:$L$105),0))
lookup!$L$5:$L$105
是值查找表范围。我知道它应该做什么,但这data!E2-lookup!$L$5:$L$105
部分没有意义。这是如何运作的?
此公式仅用作数组公式。
该MATCH
部分获取与 中的值lookup!$L$5:$L$105
最接近的那个值的位置data!E2
。然后INDEX
零件在 中获取相应的值*range used*
。用公式的话来说:它匹配差异数组中的那个值,ABS(data!E2-lookup!$L$5:$L$105)
这是这些差异中最小的。
例子:
公式F2
为:
{=INDEX($A$2:$A$11,MATCH(MIN(ABS(E2-$B$2:$B$11)),ABS(E2-$B$2:$B$11),0))}
注意,这是一个数组公式。将其输入到不带大括号的单元格中,然后按 [Ctrl]+[Shift]+[Enter] 完成。