LOOKUP函数的使用方法.xlsVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LOOKUP函数的使用方法.xls

LOOKUP [ 为简单起见,下面只讨论array为一列的情况,如:LOOKUP(AS,$A1:$A10) ] AS DF 12 首先,我们要注意LOOKUP函数的以下几点特性: 我们注意到:这个数组是按升序排列的; 有两个12,一个是数值型的,一个是文本型的,而LOOKUP查找的是第二个即文本型的 1.正规的LOOKUP用法,要求数组的第一列(或第一行)必须按升序排列 2.如果找到lookup_value,则正常返回; 3.如果在数组中找不到查找值lookup_value,则返回比它小的最大数值; 4.如果查找值lookup_value小于数组的最小值,则返回#N/A; 5.查找值的类型应与数组中数据的类型相匹配,对于不匹配的数据,LOOKUP会忽略 下一步,如果数组不按升序排列而是乱序的,会怎么样? 这就要先搞清楚,LOOKUP是按什么策略进行查找的 /dispbbs.asp?boardID=3ID=113915page=1 他认为LOOKUP是使用二分法进行查找的。具体查找流程如下: 公式目的:查找数组区域(A62:A66)中最后一个数值(非空、非文本、非逻辑值、非错误值) 1.lookup_value=9.99999999999999E+307 是excel允许输入的最大数字(见帮助) 2.让LOOKUP查找一个最大的数,而这个数比数组中所有的数都大,会怎么样? 根据上面的流程图:它会从中间开始查向下一直查到最后一个! 但最后一个依然小于9.99999999999999E+307 --它就返回A(posi)见流程图,即A66的值。达到了公式的目的! LOOKUP(REPT(龠,255),A62:A66) 式中,REPT(龠,255)表示255个龠,而这个龠是目前已知的最“大”的文本值。 上面公式只能查找数值型(见特性5),如果要查找文本型的,怎么办? 注意到特性5,我们要使用下面的公式: 查找过程及结果与上述相同,不再赘述。 [ 顺便提一句,文本型的最小值是,即空值;数字型最小值是-9.99999999999999E+307 这两个最小值,有时也有用。故存之 ] 即 如果要全取文本与数字,用下式: =INDEX(A62:A66,MAX(MATCH({龠龠龠龠龠龠龠龠龠龠龠龠龠龠龠龠龠龠龠龠,9.99999999999999E+307},A62:A66))) LOOKUP(9.99999999999999E+307,A62:A66),见单元格B26 S 123 LOOKUP(2,1/(A84:A92),A84:A92) 目的:与上式相同,也是查找A84:A92中的最后一个数值(非空、非文本、非逻辑值、非错误值) 首先看这里的 1/(A84:A92) 在公式中鼠标选中这一段,按下F9,整个公式变为: LOOKUP(2,{#DIV/0!;#DIV/0!;1;1;1;#DIV/0!;1;1;#DIV/0!},A84:A92) 公式② 根据特性5,LOOKUP函数忽略错误值,即只查找1 而根据上述流程图,lookup_value1,所以它返回最后一个1,即A91的值 可见,2可以改成任一个大于1的数字,但不能=1 比如,我们试把B84公式改为LOOKUP(1,1/……),结果为S 这是错误的 原因?还是仔细看看流程图,根据流程图,它查找的结果确实应该是S! 公式① 顺便说一下,公式①比公式②快得多! onkey在这方面作了一个很好的工作。 AA AB AC AE 品名 规格 单价 1*5 1*10 2*3 2*5 4*8 查询: 要求:从左表中查出 品名=AA且规格=1*10的物品的单价 方法有很多如,SUM数组,SUMPRODUCT,INDEX+MATCH,……等等 而这里用的是LOOKUP: 与SUMPRODUCT相比,LOOKUP能返回文本,而SUMPRODUCT 不行 试试把C105改成一个字符看看? 这里,数组变成了两种值:#DIV/0!和1 (这也是用1来除的目的!) LOOKUP(2,1/((A105:A110=E105)*(B105:B110=F105)),C105:C110) 多条件查询: 至此,下面这个就比较好理解了: 特别提醒:只有数组按升序排列,以上特性2-4才能显现 ================================= LOOKUP(12,$A8:$13) 举例复习一下LOOKUP函数的最简单的情况,如下面的这个 有以上讨论作基础,我们来看下式,这已经是LOOKUP的向量用法了: LOOKUP 可以根据前面的分析,一层层的搞懂这个公式的含义。 先从最简单的开始:LOOKUP的数组用法LOOKUP(lookup_value,array)【LOOKUP(查找值,数组)】

文档评论(0)

wuyouwulu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档