excel表格中,lookup函数返回值是公式要怎么设置??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel表格中,lookup函数返回值是公式要怎么设置??相关的知识,希望对你有一定的参考价值。

excel表格中,lookup函数返回值是公式要怎么设置?比如单元格F37等于300001≤H20≤7时,G37需要等于F37*0.45的计算值8≤H20≤13时,G37需药等于F37*0.55的计算值我现在设置的是:=LOOKUP(H20,1,7,13,13500,16500)13500是自己手动计算的F37*0.4516500是自己手动计算的F37*0.55想要在这个公式里面直接设置和F37关联的计算公式,不要自己手动计算的那种,可以如何设置?

问题很简单,你没有把区域的结果全部完整套起来,前面的花括号是3个数值而后面是的只有2个数值啊!!! 假如你规定在大于等于14时系数改为0.6,那么你的公式为:

=F37*LOOKUP(H20,0,8,14,0.45,0.55,0.6)

参考技术A 非常遗憾,蒙太奇式的提问描述实在是看不懂,如:
F37等于300001≤H20≤7
F37、H20,与数字300001,7之间的逻辑关系到底是怎样的?对于300001≤H20≤7这个就无法理解,H20是单元格吗?它既要大于等于300001,又要小于等于7,不知道会不会有这样的数字?反正本人是没见过这样的数字的。
G37需要等于F37*0.45的计算值8≤H20≤13时,也不知是要说明什么?文字描述看不懂,就去看截图吧,结果除一个空荡荡的公式外,全是一片空白,什么也没有,无字天书,实在猜不出能说明什么。

Excel公式技巧83:使用VLOOKUP进行二分查找

excelperfect


VLOOKUP函数是我们非常熟悉也很常用的一个函数。下面是其语法:

VLOOKUP(lookup_value,table_array, col_index_num,[range_lookup])

 

其中,range_lookup是第4个也是其最后一个参数。可以看到,其在中括号中表明该参数是可选的,在使用VLOOKUP函数时可以不包含该参数。

 

参数range_lookup接受逻辑值,指定是精确查找还是近似查找。TRUE指示进行近似查找,而FALSE指示进行精确查找;也可以使用10,与TRUEFALSE等价。默认为TRUE

 

当将参数range_lookup指定为FALSE进行精确查找时,执行的是线性搜索,从table_array的首列中的第一行开始往下,逐个单元格比对直到匹配lookup_value。而VLOOKUP函数执行近似查找时,采用不同的方式:如果参数range_lookup指定为TRUE或者忽略,那么table_array的首列中的值必须是升序排列,否则可能会返回不正确的结果。

 

也就是说,当VLOOKUP执行近似查找时,取决于查找列按升序排列。这意味着,它不是从顶部到底部进行搜索,而是通过在数据中上下跳跃来进行查找(二分查找)。此时,VLOOKUP函数在可能的条件下返回匹配值,否则返回小于lookup_value的最大值。

 

注意到,近似查找的算法比精确查找的算法更快,因此应尽可能使用它。

 

示例1:查找列按升序排列且执行近似查找

下面是一个经典的示例,由学生成绩查找对应的等级。如图1所示,查找表在单元格区域F1:G6,根据列C中的成绩查找相应的等级。

1

 

单元格D2中的公式为:

=VLOOKUP(C2,$F$2:$G$6,2,TRUE)

向下复制至单元格D5

 

示例2:查找列按升序排列且执行精确查找

如下图2所示,列表中有一系列日期相对应的人名,现在想要选择日期后获取该日期对应的人名。

Excel公式技巧83:使用VLOOKUP进行二分查找

2

 

由于查找列已经按升序排列,因此可以使用近似匹配算法来查找指定日期的人名:

=VLOOKUP($E$2,$A$2:$B$11,2,TRUE)

结果如下图3所示。

Excel公式技巧83:使用VLOOKUP进行二分查找

3

 

示例3:查找列无序

VLOOKUP函数的一种巧妙的使用,与查找列的排序顺序无关。

 

听起来有些奇怪,但在某些情况下排序顺序实际上并不重要。一个很好的示例是,当需要一个返回列中最后一个数字的公式时。如下图4所示,这是一列杂乱无章的数据,其中包含数字、错误、文本和空白单元格。

Excel公式技巧83:使用VLOOKUP进行二分查找

4

 

示例中列C最后一个数字是123,下面的公式会找到该数:

=VLOOKUP(BIGNUM,C:C,1,TRUE)

如下图5所示。

5

 

公式中,BIGNUM是关键,它必须比该列中可能出现的数都要大。我们知道,Excel允许的最大正数是1.7976931348623158e+308,因此,我们可以定义名称BIGNUM为:

=9.99999999999999E+307*1.79769313486231

 

OK

 

注:本文的成果整理自colinlegg.wordpress.com,供有兴趣的朋友学习参考。

以上是关于excel表格中,lookup函数返回值是公式要怎么设置??的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Excel中使用LOOKUP函数

excel中怎么查找一个值在表格中的位置

Excel中lookup的用法解惑

excel lookup查找 返回多个值

怎么在excel中使用lookup函数

excel中lookup用法?