lookup函数主要用于在查找范围中查询指定的值,并返回另一个范围中对应位置的值,其查询原理与VLOOKUP函数和HLOOKUP函数中当第四个参数为1或true时非常相似
前期准备工作(包括相关工具或所使用的原料等)
excel
详细的操作方法或具体步骤
示例:
lookup函数在无序查找中代替VLOOKUP函数进行查找

表格中姓名列未进行排序,利用VLOOKUP函数进行模糊查找会返回#N/A错误
在B12单元格输入公式:
=VLOOKUP(B11,B2:D9,2,1)结果返回#N/A错误,表示找不到,实际上B11的数据在数据表中确实存在,仅是由于数据表姓名列未进行排序,同时VLOOKUP函数采取了模糊查找方式而导致此错误,因此,可使用LOOKUP函数来代替进行查找。其用法主要是利用了LOOKUP函数的内部数组运算的原理。


在C12单元格输入公式:=LOOKUP(1,0/(B2:B9=B11),C2:C9)回车即可返回正确结果。
公式中主要使用了查找姓名与表格中的姓名范围进行比较判断,如B2:B9=B11比较结果为数组{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE},再利用0除以这个内存数组,结果为数组{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!},最后在这个数组中查找数值1(参数1),返回数组中小于等于参数1的最大值(本例为0)的位置(姓名列的第7行),最后lookup函数返回参数3相同位置的数据(本例为综合部)。此算法是LOOKUP函数在无序查找中的典型用法,目前已被广泛应用


2、查找最后非空值
利用LOOKUP函数的近似查找原理,它可以实现返回查找范围中的非空数值,而且还可以适用于二维区域或数组。
利用lookup函数取得最后非空单元格的数据

在I2单元格输入公式:
=lookup(char(65535),A:A)回车即可得到A列最后一个非空单元格的值。由于lookup函数必须查找尽可能大的值,因此只能使用char(65535)这个最接近最大文本的值来进行查找。


同理,在I3单元格输入公式:
==LOOKUP(9E+307,B:B)回车即可得到B列最后一个非空值(数值)。9e+307是最接近excel允许的最大数值的数值。

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本文系本人依照真实经历原创,未经许可,谢绝转载。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
