lookup函数精确查询可以是无序数据,而模糊查询必须是有序数据。
这里使用求差值最小值定位到精确数据的方法来实现这个需求。
有如下数据
这里查找B列最接近6的行,返回该行A列,即找到d。
使用如下公式:
=LOOKUP(1,0/(B:B=MIN(IF(ABS(B:B-6)=MIN(ABS(B:B-6)),B:B))),A:A)
其中 IF(ABS(B:B-6)=MIN(ABS(B:B-6)),B:B) 表示:B列数据减6的绝对值等于B列数据减6的绝对值的最小值时返回对应行数据否则为空值,外层套一个MIN就能获得绝对值最小行的精确值,即5.5。
然后,在利用lookup精确查找,返回A列对应值即可。
注意,公式结束必须用Ctrl+Shift+Enter,因为是数组运算,否则错误!!!
可以看到即使,数据有变化也可以找到。