解析excel中lookup函数的经典查找方式

来自:    更新日期:早些时候
~

第一,lookup函数用法介绍;第二,通过实例讲解lookup函数经典的条件查找解法,通用公式基本可以写为:LOOKUP(2,1/(条件),查找数组或区域)或LOOKUP(1,0/(条件),查找数组或区域)。

  第一部分:lookup函数用法介绍

  lookup函数和vlookup函数是excel中最常用的两个查找函数。vlookup函数能做到的lookup函数同样可以做到,而且可以做得更好。

  LOOKUP函数有两种语法形式:向量和数组。本期就向量形式的展开交流和探讨。

  向量形式的语法为:LOOKUP(lookup_value,lookup_vector,result_vector)

  其中的参数意义如下:

  Lookup_value:为所要查找的数值。Lookup_value 可以为数字、文本、逻辑值或包含数值的名称或引用。
  Lookup_vector:为只包含一行或一列的区域。Lookup_vector 的数值可以为文本、数字或逻辑值。Lookup_vector的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE,否则, LOOKUP不能返回正确的结果。文本不区分大小写。
  Result_vector:只包含一行或一列的区域,其大小必须与 lookup_vector 相同。
  比如lookup(A1,B1:B10,C2:C11),其中C2:C11的尺寸要与B1:B10相同,且如果A1对应B列中的位置是B2的话,那么返回的将是C3的值。

  LOOKUP函数说明:

  第一,如果函数 LOOKUP 找不到 lookup_value,则查找 lookup_vector 中小于或等于 lookup_value 的最大数值。这就是为何返回最后一个满足条件的值的原理。
  第二,如果 lookup_value 小于 lookup_vector 中的最小值,函数 LOOKUP 返回错误值 #N/A。
  利用这个特性,我们可以用=LOOKUP(1,0/(条件),引用区域)这样一个通用公式来作查找引用。

  第二部分:lookup函数实例运用

  运用一:模糊查找

  模糊查找的核心是第二个参数排序必须是升序,否则会导致查找值错误。下图所示的表1是按升序排序的,表2没有排序。

  分别在表1和表2下面对应的单元格输入公式。

  表1的数据源是按升序排序的,根据lookup函数用法:=LOOKUP(要查找的数据,查找范围,结果),在C24单元格设置公式:=LOOKUP(B24,$B$5:$B$17,$C$5:$C$17),然后下拉得到正确结果。

  表2的数据源是没有排序的,在J24单元格输入公式:=LOOKUP(I24,$I$5:$I$17,$J$5:$J$17) ,然后下拉,发现J25单元格得到的结果是H126,显然不对。通过表2的源数据可以看到I25单元格对应的值应该为J8单元格的值H142。

  为什么会出错呢?这就印证了第一部分的用法介绍中所讲到的:Lookup_vector的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE,否则, LOOKUP不能返回正确的结果。文本不区分大小写。

  模糊查找,数据源一定要以升序先进行排序,否则就会出错。在数据源没有排序的情况下,如何才能查找到正确结果?LOOKUP函数有一个经典的条件查找解法,可以很好的解决此问题。

  在第一部分有提到,通用公式基本可以写为:LOOKUP(2,1/(条件),查找数组或区域) 或LOOKUP(1,0/(条件),查找数组或区域)。

  公式中的2、1、0等数字的含义是什么? 首先,条件是一组逻辑判断的值或逻辑运算得到的由TRUE和FALSE组成或者0与非0组成的数组,因而:0/(条件)的作用是用于构建一个由0或者#DIV!0错误组成的值。比如数据源中能查找到对应值就是ture,没有就是false。形式如:0/True=0,0/false=#DIV0!,查找到就0,没有就是错误值。

  如果 LOOKUP 函数找不到 lookup_value (即:1),则它与 lookup_vector 中小于或等于 lookup_value 的最大值(即:0)匹配。

  也就是说,要在一个由0和#DIV!0组成的数组中查找1,肯定找不到1,因而将返回小于或等于1的最大值(也就是0)匹配。用大于0的数来查找0,肯定能查到最后一个满足条件的。

  以上的原理,被俗称为“以大欺小法”。这种技巧在LOOKUP函数上的运用是很常见的。

  利用上面的原理,不管有没有排序,只要使用上面的“以大欺小法”都能得到正确结果。比如上面实例中,在J25单元格输入公式:=LOOKUP(1,0/(I25=$I$5:$I$17),$J$5:$J$17),就可以了。

  运用二:精确查找

  第一,查找的数据没有对应值,可以利用ISNA(ISERROR)函数屏蔽错误值。

  如上图所示,表3是数据源,在下面左边根据“番号”查找“俗称”。单击C51单元格,输入公式=LOOKUP(1,0/(B51=$B$42:$B$45),$C$42:$C$45),然后下拉可以看到下面的C52和C54单元格出现错误值。这种情况可以利用ISNA(ISERROR)函数屏蔽错误值。

  只要在公式外面嵌套个if(isna(lookup(),"",lookup()),这样的形式就可以把错误值屏蔽。在H51单元格,输入这样的公式:=IF(ISNA(LOOKUP(1,0/(G51=$B$42:$B$45),$C$42:$C$45)),"",LOOKUP(1,0/(G51=$B$42:$B$45),$C$42:$C$45)),下拉,就可以屏蔽错误值了。将错误值屏蔽了,表格就好看多了。

  上面公式中,"",是显示空的意思,错误就显示空,没有就查找。

  第二,借助错误值来判定产品是否存在。

  下图所示根据左边的数据源,来判定右边对应的数据是否在番号列中。

  只需要嵌套一个isna函数就可以做到,如果没有存在就错误,有存在就......这样的形式。在H62单元格输入公式:=IF(ISNA(LOOKUP(1,0/(G62=$B$62:$B$74))),"否","是"),下拉就即可得出结果。

  “图啥”网友问:iserror与isna函数的区别。ISNA只屏蔽#N/A错误,ISERROR屏蔽所有错误。

  第三,LOOKUP函数多条件查找。

  如上图所示,根据“俗称”和“订单号”来查找“订单数”和“尾数”,可以套用这样的公式:=LOOKUP(1,0/(条件(1)*(2)*(3).。。。。。),引用区域),用*或&将各个条件连接起来,*就是和的意思。

  此题有两种方法:
  第一,在K112单元格输入公式:=LOOKUP(1,0/(($I112=$B$112:$B$120)*($J112=$C$112:$C$120)),D$112:D$120),复制公式就可以得到结果。
  第二,另外也可以使用这个公式:=LOOKUP(1,0/($I112&$J112=$B$112:$B$120&$C$112:$C$120),D$112:D$120)

  第四,含某个字符查找。

  按照上图所示,根据左边的数据源,来对含有某个字符进行查找。单击G128单元格,输入公式:=LOOKUP(1,0/(FIND($F128,$B$128:$B$131)),B$128:B$131),就可以得到结果。

  VLOOKUP函数与lookup函数对比:

  第一,在多条件查找方面,就能看出lookup函数好用。用vlookup多条件查找,最简单的方法就是借用辅助列。
  第二, VLOOKUP函数对于反向查找是需要嵌套其余函数才能实现,而LOOKUP函数没有正反之分,因此在这方面LOOKUP函数会更加容易实现。
  第三, vlookup在查找字符方面,可以使用*号类通配符。LOOKUP是不支持通配符的,但可以使用FIND (查找字符,数据源区域)的形式代替。




解析excel中lookup函数的经典查找方式视频

相关评论:
  • 15745591722excel中lookup函数有什么作用?怎么使用lookup函数?
    巴炊秋lookup函数一个搜素函数,是查询单一行或者单一列中的值并返回对应选定区域相同格式另一行或者列中同一位置的值,那么excel中lookup函数有什么作用?怎么使用lookup函数?下面小编就为大家详细介绍一下,来看看吧!方法\/步骤 首先我们打开一个样表作为例子。插入lookup函数,函数的格式是=LOOKUP(lookup_value,...

  • 15745591722Excel查询函数Lookup和Vlookup区别
    巴炊秋#N\/A”。  点评:  Excel为我们提供了近20个有关“查找和引用”的函数,除了最常用的Lookup、Vlookup,还有Choos、Row、Colum、Index和Match等,大家可以通过函数的帮助查看具体的功能。这些函数往往不是单独使用,可以与其他函数和Excel中的一些功能进行配合。

  • 15745591722Excel中LOOKUP查询函数功能的操作方法
    巴炊秋在日常工作中,我们都会遇到在数据表中查询数据的需求,Excel中对数据查询给出了很多的方式,其中速度最快的查询当属LOOKUP函数,今天,小编就教大家在Excel中LOOKUP查询函数功能的操作方法。Excel中LOOKUP查询函数功能的操作步骤如下:LOOKUP函数的语法如下:LOOKUP(lookup_value,lookup_vector,result_vector)...

  • 15745591722excel中lookup函数的使用方法
    巴炊秋Excel中经常需要使用lookup函数查找数据,lookup函数具体该如何使用呢?下面是由小编分享的excel中lookup函数的使用方法,以供大家阅读和学习。excel中lookup函数使用方法 lookup函数使用步骤1:如图红框内部是不同的身高区间对应的尺码型号。excel中lookup函数使用方法图1 lookup函数使用步骤2:在红框所示的单元格...

  • 15745591722excel中HLOOKUP是什么意思?
    巴炊秋今天继续再给大家 介绍另外一个函数 HLOOKUP 他是excel等表格中的 横向查找函数 与LOOKUP函数和VLOOKUP函数 属于一类函数 一起来看一下应该如何用好他 01 视频讲解 重播暂停00:00 \/ 00:00 正在直播00:00进入全屏50 点击按住可拖动视频02 文字详解 今天我们来讲讲HLOOKUP,如果参照值在行,如果提取下...

  • 15745591722excel查询函数lookup的用法
    巴炊秋Excel中经常需要使用到lookup函数,lookup函数具体该如何使用呢?下面是由小编分享的excel查询函数lookup的用法,以供大家阅读和学习。excel查询函数lookup用法:lookup函数使用步骤1:下面我们用例子给大家具体讲一下LOOKUP的具体应用与原理:lookup函数使用步骤2:我们以一个学生成绩表为例进行分析,查询一下英语...

  • 15745591722excel的lookup函数怎么用excel的lookup函数怎么用数组
    巴炊秋LOOKUP 函数是 Excel 中的一种查找函数,用于在一个表格或数组中查找特定的值,并返回相应的结果。它有两种使用方式:向量形式和数组形式。向量形式的 LOOKUP 函数语法如下:=LOOKUP(lookup_value, table_array, result_array)其中:- lookup_value 是要查找的值。- table_array 是一个包含查找值和结果...

  • 15745591722Excel中lookup函数的具体用法是怎样的?
    巴炊秋Excel中LOOKUP查询函数的主要功能是在某个查找区域内,找到某个需要的搜索值,并把该搜索值放到特定的单元格内。LOOKUP查询函数的使用公式是“=LOOKUP(搜索单元格,搜索区域,返回数值区域)”。1、打开Excel软件,输入相关工作表。2、根据工作表左边的单元格内容,即单元格A1到单元格C5的区域;查找出E2...

  • 15745591722excel中函数lookup查询函数用法详细步骤实例
    巴炊秋excel中lookup查找函数用法详细步骤实例,函数的工作原理是在第二个参数(区域,一般是一列)中查找第一个参数(一般为单元格值),找到首个大于第一个参数时,函数返回找到的上方位置,对应的第三个参数的值。如果第二个参数升序排列,可以直接说是返回小于等于第一个参数的最大值。一般情况下都需要将第二...

  • 15745591722在Excel函数中怎么使用LOOKUP查询函数
    巴炊秋在Excel表格中进行查询,当然少不了lookup函数了,正好这次有时间,就大篇幅的介绍一下该函数的具体用法。以下是小编为您带来的关于LOOKUP查询函数,希望对您有所帮助。LOOKUP查询函数 LOOKUP函数的作用 直接从查询目标中返回匹配的值或相近的值,还可以通过映射关系从另一组相对应的目标中返回数据。LOOKUP...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网