|
大家都知道,用vlookup函数进行查询,如果没有精确匹配的值,会返回第一列中与要查询结果相近的一个值,例如:
下图中,如果查询温度为160℃时的密度,因为数列中没有正好160℃的值,所以返回了比160小的数值中最大的温度(150℃)的密度即125。用帮助中的话叫做“如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。”
但是如果我不想找小于查询值的最大数值,而是想返回200℃对应的值该如何做?或者不用vlookup函数,有没有其它的函数组合能实现这种功能?如何实现返回的值是不小于(可以等于)要查询数值的最小值!
-----------------------------------------------------------------------------------------
在大家的不懈努力下,问题有了突破性进展,现总结如下;
1.用公式
=INDEX(B2:B8,MATCH(TRUE,(A2:A8>=A11),))
说明:运行时,需要敲入代码后按CTRL+SHIFT+ENTER。
2.用公式
=OFFSET(B1,MATCH(A11,A2:A8,-1),)
说明:需要索引列(即本例中的A列)从大到小倒序排列
3.用公式
=INDEX(B:B,MIN(IF(A2:A8>=A11,ROW(B2:B8))))
说明:运行时,需要敲入代码后按CTRL+SHIFT+ENTER。
4.用公式
=VLOOKUP(MIN(IF(A11<=A2:A8,A2:A8)),A2:B8,2,)
说明:运行时,需要敲入代码后按CTRL+SHIFT+ENTER。
5.用公式
=MAX(IF(A11<=A2:A8,B2:B8))
说明:运行时,需要敲入代码后按CTRL+SHIFT+ENTER。
6.
未完,待续等待您的答案!!!!
为方便大家学习交流,将带有以上公式的表格传上,请见附件
Book1.rar
(1.99 KB, 下载次数: 204)
[ 本帖最后由 johnkingv 于 2011-6-9 17:34 编辑 ] |
评分
-
1
查看全部评分
-
|