EXCEL 的vlookup 只能按相等的查找再返回值, 我需要按条件返回怎么搞?

A B C
1 1 5
2 5 10
3 10 15
比如:13 时,能返回3,因为 13>B 且 13<C,返回A
不要告诉我用自定义函数。只求用excel自带函数的方法

13 是H1格的值,要求在I1格里返回3
还有H2、H3、H4,分别为其它值,也要返回I2、I3、I4

写错了,是:因为 13>=B 且 13<C,返回A
B C 列是无间隔的线性的,不会重复,不会找不到

首先,如果你的表格如此排列,没法用Vlookup函数,该函数的查找范围是首列。
其次,你可以考虑使用Lookup或Match函数,但表格排列也要变。
再次,你的范围是1,5,10,15。你必须确定超出区间的时候返回什么值(比如18),区间边界的时候的归属(也就是等于的时候,比如10,要返回2还是3)

补充:
可能我没太说明白。举个例子吧
=LOOKUP(h1,{1,5,10,15},{1,2,3})
根据你的补充说明,等于1的时候返回1,等于5的时候返回2,等于10的时候返回3,等于15的时候返回错误。在区间内则返回相应值,如6返回2。
你也可以把{}的内容改成相应的表格区域。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-17
在A列前面加一列辅助列来实现

A列写公式
=IF(AND($H$1>=C1,$H$1<D1),"○","")

I1写vlookup查询
=vlookup("○",$B$1:$D$3,2,false)
第2个回答  2010-08-17
用数组公式:
{=SUMPRODUCT(IF(b1:b3<h1,IF(c1:C3>h1,a1:a3,0),0))}
以上公式在5、10时返回0,0、18等也返回0,可以调。
第3个回答  2010-08-17
你例子里的13和上面数据是什么关系?本回答被提问者采纳