Excel中的这个表达式意味着什么

时间:2015-05-05 13:28:43

标签: excel excel-formula array-formulas excel-match

使用INDEXMATCH进行查找,并遇到了以下形式使用的表达式:

=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部分没有意义。这是如何工作的?

1 个答案:

答案 0 :(得分:3)

此公式仅作为数组公式使用。

MATCH部分获取lookup!$L$5:$L$105中该值的位置,该位置最接近data!E2中的值。然后,INDEX部分会在*range used*中获得相应的值。在公式的话中:它匹配差异数组ABS(data!E2-lookup!$L$5:$L$105)中的那个值,这是这些差异中最小的。

示例:

enter image description here

F2中的公式为:

{=INDEX($A$2:$A$11,MATCH(MIN(ABS(E2-$B$2:$B$11)),ABS(E2-$B$2:$B$11),0))}

注意,这是一个数组公式。将其输入单元格而不使用大括号,然后使用[Ctrl] + [Shift] + [Enter]完成。