Excel中最常用的查找函数无非就是VLOOKUP和LOOKUP,VLOOKUP函数可以做到的用LOOKUP函数也可以做到,VLOOKUP函数不能做到的LOOKUP函数却可以做到。所以今天要跟大家分享的是LOOKUP函数的经典查找方式。

一、LOOKUP函数用法。

LOOKUP函数有2种语法形式:向量法和数组法。今天讲的是向量法。

向量语法形式:LOOKUP(lookup_value,lookup_vector,[result_vector])。

各参数含义:

lookup_value:要查找的值。可以为数字、文本、逻辑值或包含数值的名称或引用。

lookup_vector:只包含一行或一列的区域。可以为文本、数值或逻辑值。若为数值,必须升序排序,否则,不能返回正确的结果。若为文本,则不区分大小写。

result_vector:只包含一行或一列的区域。区域大小必须跟lookup_vector一致。

二、LOOKUP函数模糊查找实例运用。

模糊查找要求LOOKUP函数第2个参数必须按生序排序,否则不能返回正确的结果。下图中

表1已经对编号做了升序排序处理,表2没有排序。

要求:分别在2个表中查找编号对应的订单号。

步骤:在下图中的C15单元格中输入公式“=LOOKUP(B15,$B$3:$B$12,$C$3:$C$12)”,按回车键,然后下拉公式至C17单元格。

在下图中的F15单元格中输入公式“=LOOKUP(E15,$E$3:$E$12,$F$3:$F$12)”,按回车键,然后下拉公式至F17单元格。

对比上面2张图片,我们发现F15、F162个单元格的查找结果是不正确的,这是为什么呢?这是因为我们一开始所说的lookup_vector必须升序,否则就会出现上图所看到的结果。

那么,很多情况下我们并不能对数据做升序排序,在lookup_vector没有排序的情况下,我们怎样才能查找到正确的结果呢?下面就是我要跟大家讲解的重点,采用LOOKUP函数经典语法来解决,该语法如下:

LOOKUP(1,0/(条件),查找区域或数组)

如果条件有多个,语法如下所示:

LOOKUP(1,0/((条件1)*(条件2)*(条件3)*...*(条件N)),查找区域或数组)

语法中的1和0分别表示什么?首先,0/(条件)中的“条件”是一组逻辑值或由逻辑值运算得到的由TRUE和FALSE组成的数组,因此:0/(条件)相当于构建一个由0和错误值#DIV/0组成的数组。如果条件为真,返回TRUE,条件为假,返回FALSE,0/(条件)相当于0/TRUE=0,0/FALSE=#DIV/0。整个公式的意思是:要在一个由0和错误值#DIV/0组成的数组中查找1,很明显找不到,那就返回最接近于1的值,也就是0,用大于0的数值来查找0,肯定可以查找最后一个满足条件的。

所以不管有没有排序,利用LOOKUP函数的经典语法,下图中C15单元格的公式可改成“=LOOKUP(1,0/(B15=$B$3:$B$12),$C$3:$C$12)”。

F15单元格的公式可改成“=LOOKUP(1,0/(E15=$E$3:$E$12),$F$3:$F$12)”。

这样子不管数据源有没有排序,用了上面的语法,结果都是正确的。这就是这期教程跟大家讲解的重点,记住模板语法“LOOKUP(1,0/((条件1)*(条件2)*(条件3)*...*(条件N)),查找区域或数组)”,理解语法中1和0的含义,以后就可直接套用这条公式,学起来吧!

c语言中1和0什么意思啊,精讲LOOKUP公式中1和0的含义,这1500字的详细解析值得收藏一份...相关推荐

  1. C语言中fun的功能是将字符串,下列给定的程序中,fun()函数的功能是:将p所指字符串中......

    下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的"单词"是指有空格隔开的字符串).例如,若输入: I am a student to ...

  2. c语言中的typedef struct相当于java的一个类?,C ++中'struct'和'typedef struct'之间的区别?...

    在C ++中,之间有什么区别: struct Foo { ... }; 和 typedef struct { ... } Foo; #1楼 您不能对typedef结构使用forward声明. stru ...

  3. c语言中vector函数大全,vector :: empty()函数,以及C ++ STL中的示例

    C ++ vector :: empty()函数 矢量::空()是一个库函数"载体"头,它是用来检查给定的矢量是否是一个空的载体或没有,它返回一个真,如果矢量大小为0,否则返回假. ...

  4. c语言中floox的头文件,PC-1211袖珍计算机在合成氨厂生产中的应用 第五讲 循环语句(FOR-NEXT语句)...

    PC-1211袖珍计算机在合成氨厂生产中的应用 第五讲 循环语句(FOR-NEXT语句) 在化工生产中为了分析两个或两个以上参数对生产的影响往往需要进行某些有规律的重复计算.这些计算在程序中可以用赋值 ...

  5. c语言中19可以用什么字母表示什么意思,C语言中的 @ 符号是什么意思?

    Global Variable Address Modifier (@address) You can assign global variables to specific addresses wi ...

  6. ★专题0:py语法精讲:字典

    掌握字典的定义方法 key是不可变的,value是可变的 >>> cities = ['shanghai','soochow','hangzhou'] >>> ph ...

  7. 0 uC/OS 系统精讲索引

    uC/OS-II与uC/OS-III放在一起讲,每个例程同时提供两个版本的源代码. 本系列教程主要涉及如下内容: [原理部分] 1-操作系统简介:基本概念 2-目录结构与测试环境搭建:uC/OS-II ...

  8. C语言中static的作用及C语言中使用静态函数有何好处

    转自:http://www.jb51.net/article/74830.htm 在C语言中,static的作用有三条:一是隐藏功能,二是保持持久性功能,三是默认初始化为0. 在C语言中,static ...

  9. C++和C语言中enum 如何使用

    c++语言中enum类型的用法 枚举类型,顾名思义,"枚"作为量词,作"个"讲,那么枚举,就是一个一个的列举,如果一件事情能够被一个一个的列举,那么它的数量肯定 ...

  10. c语言中c为字符型便量,c='97'是否正确,C语言判断题Word版

    <C语言判断题Word版>由会员分享,可在线阅读,更多相关<C语言判断题Word版(3页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版文档 ,希望对您有帮助,可双击去 ...

最新文章

  1. 计算器,利用灰度图的顶帽扣出数字
  2. Spring学习详解(1)——Spring入门详解
  3. ORACLE 数据字典
  4. Jmeter(七)-参数化
  5. 调试Excel VBA代码
  6. 逻辑门电路的知识点归纳
  7. python的自带数据集_Python的Sklearn库中的数据集
  8. CentOS7 最小化安装后的必备操作
  9. 11210怎么等于24_巧算24点
  10. MATLAB无法直接打开M文件
  11. 计算机3c,计算机3C认证办理介绍
  12. 《美国职业橄榄球大联盟》:NFL·王牌四分卫
  13. 现网必用的主备冗余技术,VRRP理论+配置
  14. linux代码之atomic
  15. 计算机技术与软件专业技术资格(水平)考试指南
  16. 安卓开发——做一个能定时唤起其他APP的闹钟程序
  17. BZOJ4484: [Jsoi2015]最小表示
  18. 怎样抓CD音轨存为WMA文件
  19. 什么叫句柄(Handle)?
  20. java 获取上市公司基本信息 代码测试

热门文章

  1. java代码合成多张图片成一张
  2. 定量风险分析技术__蒙特卡罗分析
  3. 计算机程序停止工作怎么办,如何将“某某程序已正常停止工作,请关闭程序”这个提示自动关闭...
  4. 三年探索:一条自控、电信/科类学生的技术成长路线
  5. 小米手机开发者模式怎么打开?简单,只要三步
  6. 多线程编程中条件变量和的spurious wakeup 虚假唤醒
  7. 小众创客的狂欢——树莓派
  8. 十年比肩?看国产数据库如何突出重围!| 新程序员
  9. 上海市新能源汽车分时租赁规划策略研究
  10. php 厘米转为英寸,将cm换算为in (厘米换算为英寸)