LOOKUP 函数经典用法 秒变EXCEL达人
lookup函数的参数有二种形式,一是向量,二是数组
LOOKUP(①查找值,②查找值所在区域,③返回的结果)
②为单行区域或单列区域,查找值所在区域必须先排序,否则出错。
③可以省略
没有精确匹配对象时,返回小于等于目标值的最大值
LOOKUP(①查找值,②二维数组)
=LOOKUP(1,0/(条件),目标区域或数组)
其中,条件可以是多个逻辑判断相乘组成的多条件数组。
=LOOKUP(1,0/((条件1) ( 条件2) ( 条件N)),目标区域或数组)
①((条件1) ( 条件2) ( 条件N)),所有条件满足返回TRUE,否则返回FALSE。
②以0/((条件1) ( 条件2) ( 条件N))构建一个0、#DIV/0!组成的数组,避免了查找范围必须升序列排序的弊端。(因为True在运算时当作1,False在运算时当作0,所以0/TRUE返回0,0/FALSE返回#DIV/0!)
③再用1作为查找值,即可查找最后一个满足非空单元格条件的记录。
在G2单元格输入公式: =LOOKUP(1,0/($B$2:$B$19=F2),$A$2:$A$19)
在H2单元格输入公式: =LOOKUP(1,0/(($B$2:$B$19=F2)*($C$2:$C$19=G2)),$D$2:$D$19)
在F2单元格输入公式: =LOOKUP(1,0/($B$2:$B$19=E2),$C$2:$C$19)
在C1单元格输入公式: =LOOKUP("々",A:A )或=LOOKUP("座",A:A )
"々"通常被看做是一个编码较大的字符,它的输入方法为组合键。第一参数写成"々" 和“座”都可以返回一列或一行中的最后一个文本。
在C2单元格输入公式: =LOOKUP(9E307,A:A)
9E307被认为是接近Excel规范与限制允许键入最大数值的数,用它做查询值,可以返回一列或一行中的最后一个数值。
在C3单元格输入公式: =LOOKUP(1,0/(A:A<>""),A:A)
(A:A<>"")是判断不为空
A列是客户的简称,要求根据D列的客户全称对照表,在B列写出客户的全称。
在B2单元格输入公式: =IFERROR(LOOKUP(1,0/FIND(A2,D:D),D:D,"")
公式说明:
①0/FIND(A2,D:D),用FIND函数查询A2单元格“湖南永怡”在D列的起始位置,得到一个由错误值和数值组成的数组。
②使用IFERROR函数来屏蔽公式查询不到对应结果时返回的错误值。
根据加油站的年销售量,确定油站的等级。
在G2单元格输入公式:
=LOOKUP(F2,{0;2000;4000;6000;8000;10000},$B$3:$B$8)
或者 =LOOKUP(F2,$A$2:$B$8)
这种方法查找区域必须升序排序。
在B2单元格输入公式:
=-LOOKUP(1,-LEFT(A2,ROW($1:$99)))
公式说明:
①-LEFT(A2,ROW($1:$99))用LEFT函数从A2单元格左起第一个字符开始,依次返回长度为ROW( 99)也就是1至99的字符串,添加负号后,数值转换为负数,含有文本字符的字符串则变成错误值。
②LOOKUP函数使用1作为查询值,在由负数、0和错误值构成的数组中,忽略错误值提取最后一个等于或小于1的数值。
③最后再使用负号,将提取出的负数转为正数。