1.前言

Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。由于他借组公式发挥很强的计算、数据处理能力,所以涉及范围极广,从财务报表到工程预算,他也可以成为家庭收支计算的重要利器。在和同事闲聊的时候一把也会用Vlookup函数衡量你对excel的掌握程度,然后他真的有这么强的吗,有没有可以取代他的函数?那么这次,我们主要从Excel的公式入手,分析一下他里面的涉及到的lookup的三个函数,因为他们可以让我们达到事半功倍的效果。那么lookUp究竟是什么呢,让我们继续往下看。

2. LookUp函数

2.1 基本语法

2.1.1 语法一

=LOOKUP(lookup_value,lookup_vector,[result_vector])

参数:

lookup_value:要查找的值。

lookup_vector:需要查找的列

result_vector:可选,通过loolup_value在looup_vector查找到值,对应此选择列的值。

案例:

我为此准备了试验数据:

实例1

首先我们明确lookup查找的方式是通过二分查找法实现的,所以对于被查询列必须排序,否则会出现问题。好了,我们就分析一下他的执行顺序。我们以6000为例。step1,数据源为5列,所以二分位为pos = int((5+1)/2) = 3,位置3所对应的数值为3000,excel认定比6000小,应该从下面查找。接下来数据范围变成4500、9000,索引位置是pos = int((2+1)/2) = 1,即所对应的位置是4500,比6000还小,继续查找,发现9000比6000大,所以按照上一个索引位置作为输出值,即输出20。

我们进一步做一分析,对于这个公式的三个参数(数值,数组1,数组2),后面两个数组的个数是一致的,而且保证一一对应。公式执行逻辑是利用二分查找法进行查询。直到查到为止(如果查不到,按照上一个遍历值为匹配项),根据数组1的匹配项的索引值在数组2获取到数值作为返回值。所以我们就有了如下的公式变形:

=lookup(1,0/(查找值=查找列),结果列)

他能做什么事呢?我们看一下例子:

好像可以实现vlookup的功能,是不是很强大了。接下来我们在做几个变种:

1)逆向查找,这是vlookup所不具备的,就是我们查找的列在后面,返回的数据在前面。

2)多条件查询

2.1.2 语法二

=LOOKUP(lookup_value,array)

参数:

lookup_value:要查找的值。

array:要查询的数组,并返回

这个公式依然使用二分查找法的思路,只不过功能相对于语法一逊色了不少,这个也许就是excel先前版本的公式吧。

3. VLookUp函数

=vlookup(looup_value,table_array,col_index,[range_lookup])

参数:

lookup_value:要查找的值。

table_array:要查询的数据区域,是一个表格

col_index:返回的数据相对于匹配项的第一列

[range_lookup]:是否精确匹配。如果是0,为精确匹配;如果是1,近似匹配,但是首列的值必须排序。也就是说,如果是近                                  似匹配,他任然和lookup一样,采取二分查找法进行寻找匹配项。

在vlookup函数中,他的四个参数(数值1,表格1,数值2,标志位)。我们以第一列说,河北在表格表格1查找,在第一行找到记录,所以返回表格1的第数值2列的数据,即为10。

如果我们现在把数据源两列换一下位置,数值2变为-1,因为是在左边,看看输出什么结果:

我们发现差不到信息。这也验证了上面提到的vlookup不能逆向查询数据。是不是感觉lookup函数的强大之处了。

我们在做一个试验:

通过上面的可以看出,查询的数据只对于表格第一行查询。

关于近似匹配输出什么样的结果:

我们发现和lookup的功能差不多,这里就不多说了。

3. HLookUp函数

这个函数我们用的不是很多,但是作为lookup函数的一个成员,我们简单说一下。

首先,我们先看一下语法:

=Hlookup(looup_value,table_array,row_index_num,[range_lookup])

参数:

lookup_value:要查找的值。

table_array:要查询的数据区域,是一个表格

row_index_num:要返回哪一行的数据

[range_lookup]:是否精确匹配。如果是0,为精确匹配;如果是1,近似匹配,但是首列的值必须排序。也就是说,如果是近                                  似匹配,他任然和lookup一样,采取二分查找法进行寻找匹配项。

上图中显示的公式是A11列的公式。这个函数是找A10的值5从A1:J1中找到匹配项,这里找到索引位置为5(E列),然后返回第二行所对应的数据E2(15)。

至于近似匹配和上面的公式一样,采用二分查找法的方式实现。这里就不举例了,大家有兴趣的可以尝试一下。

4.总结

讲到这里,是不是感觉lookup函数家族的强大,同时是不是从此放弃vlookup函数,喜欢上lookup函数了。哈哈,其实每个函数都有他存在的必要性,虽然lookup显得强大,但是这种复杂的语法让人不好接受,同时vlookup可以实现为和还要给自己找事呢,你们说对吧?

Excel公式中的LookUp三剑客(可以取代Vlookup的神秘公式)相关推荐

  1. 成功解决在excel表中通过数学函数转换后,接着去掉公式转为不再随着变化的数值

    成功解决在excel表中通过数学函数转换后,接着去掉公式转为不再随着变化的数值 目录 解决问题 解决方法 解决问题 在excel表中通过数学函数转换后,接着去掉公式转为不再随着变化的数值 解决方法 选 ...

  2. excel公式中的$(美元符号)的作用

    绝对引用($)与相对引用的区别 相对引用 在创建公式时,单元格或单元格区域的引用通常是相对于包含公式的单元格的相对位置.     例如,元格 B6 包含公式 =A5 :Microsoft Excel ...

  3. Excel技能树系列02:公式中单元格的绝对引用、相对引用和混合引用

    这是Excel技能树系列的第二篇,正式开始Excel技能树知识的讲解了.如果对电子表格的起源和发展感兴趣,可以查看已经发布的Excel技能树系列01篇.本系列写给想要进阶的高频电子表格用户,本系列不适 ...

  4. 计算机公式运算符,excel加减乘除-office零基础—Excel篇第25课「认识公式中的运算符」...

    上节课我们说到公式,也知道了公式是有[运算符].[常量数值].[括号].[单元格引用]和[函数]五个元素组成的,在公示中[=]之后的内容就是公式元素了,各个元素之间由[运算符]分隔.运算符是公式中不可 ...

  5. Excel公式中符号使用详解

    Excel公式中符号使用详解 运算符优先级--引用运算符.算术运算符.连接运算符.比较运算符 引用运算符优先级--:(冒号).(单个空格).,(逗号) 算术运算符优先级---负数(如–1).%百分比. ...

  6. #NAME?_#NAME?:EXCEL表中出现#NAME是什么意思?

    EXCEL表中出现#NAME是什么意思?这是因为公式中A.B和C+是文本,1.如图输入题主的公式.会弹出所键入的公式含有错误,会显示C这里有错,不止C这里有错,前面的A和B也有错,3.因为公式 EXC ...

  7. 函数公式中9E+307的用法

    如果EXCEL电子表格的数据比较复杂,所使用的行列比较多,那么,如何通过公式获取每一行或每一列中,有数据的单元格的最后一个单元格呢? 先看下表. 比如第一行,有效数据的最后一个单元格是B2,而第五行, ...

  8. excel计算机不准确,excel表格数据合计不准确-EXCEL表格中,求和的数字总是不对...

    为什么EXCEL求和不准确.合计总是相差0.01! 你这可能不是手工输入从其他地方来的数据一数值格有些是文本格式,文本格式是不能直接进行计算的. 可以把所有需要计算的数据都转换成数值的,就不会有问题了 ...

  9. 教你如何使用EXCEL中的lookup函数(摘自“MS帮助和支持”)

    2008-07-05 18:07 今天妹妹问到lookup怎么用,我在网上找到了这篇文章,看了看还算简明扼要,学习之余也贴在这里,个人觉得那两个例子对理解很有帮助-CTH 概要 本文介绍如何在 Mic ...

  10. excel公式中更正错误 #N/A

    当数值对函数或公式不可用时,出现错误. 单击显示错误的单元格,再单击出现的按钮 ,然后,如果出现"追踪错误",则单击它. 检查可能的原因和解决方法. 可能的原因和解决方法 遗漏数据 ...

最新文章

  1. 图像超分辨率算法:CVPR2020
  2. JS实现HTML上用button打开文件对话框
  3. 福布斯发布2019全球品牌价值100强:华为上榜苹果夺冠
  4. 收藏的2个正则html标签剔除方法
  5. OpenLdap 相关命令
  6. jquery笔记一:下载安装、语法、选择器、遍历选择元素的方法、jQuery动画
  7. 整理的3500个常用汉字的调用字典
  8. 此计算机无法设置密码,电脑该怎么设置密码
  9. linux 使用 /proc 文件系统
  10. php sns 源码,ThinkSNS V2.3源码下载(SNS系统)
  11. Java实现分页的几种方式
  12. 程序员常见面试题汇总
  13. 米家扫地机器人按键没反应_米家扫地机器人1S测评:性能暴增40%,全面提升带来极佳体验...
  14. 一个画板十年工程师的PCB设计经验分享
  15. risc-v vector扩展1.0版本解读(riscv-v-spec-1.0)
  16. ESXi-6.7 支持Realtek81XX 8125网卡镜像
  17. ArrayList的源码解读
  18. 跨平台攻击令智能设备的物理隔离和系统屏障消失
  19. 通过Java实现双色球原理
  20. Clickhouse 使用DBeaver连接

热门文章

  1. JAVA最强工具类之一HuTool
  2. 常用计算器就是计算机吗,计算器和计算机的区别?
  3. win7 与xp 互联步骤
  4. [js]身份证号码验证
  5. The overload Pattern
  6. KinectV2 qt opencv 实现平面测量
  7. 实现生成木马的自动变异
  8. 【Matlab】根据excel画折线图和柱状图
  9. 【NOI Online】 2021普及
  10. k8s部署-43-带你深入学习ingress-nginx(下)