ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 鬼狐

一个关于lookup的问题

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-26 09:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我再去发次帖子

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-26 09:53 | 显示全部楼层
如果不知道的话希望你们能帮我顶一下啊

TA的精华主题

TA的得分主题

发表于 2010-8-26 10:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我也想知道为什么?

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-26 10:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 mian819 于 2010-8-26 10:00 发表
我也想知道为什么?

总算又有人回复了

TA的精华主题

TA的得分主题

发表于 2010-8-26 10:34 | 显示全部楼层
只要第一参数>0,行row(1:3),row(1:4)...就可以实现,这应该是向量的问题,与数组无关吧。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-26 10:39 | 显示全部楼层
原帖由 金城烟雨 于 2010-8-26 10:34 发表
只要第一参数>0,行row(1:3),row(1:4)...就可以实现,这应该是向量的问题,与数组无关吧。

能不能说的详细点????

TA的精华主题

TA的得分主题

发表于 2010-8-26 10:51 | 显示全部楼层
帮你顶一下,凑凑热闹
二分法不太懂,非升序排列时得出的正确结果,个人觉得应该是一种巧合,升序排列还是要点。象下面乱序的例子:
=-LOOKUP(1,{1;-60;-50;80;-90;#VALUE!;#VALUE!;#VALUE!})&"%"结果为50%,哪才是我们要的结果呢?

TA的精华主题

TA的得分主题

发表于 2010-8-26 10:51 | 显示全部楼层
还在研究,可能另有隐情。


[ 本帖最后由 xiangzi728 于 2010-8-26 11:02 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-26 10:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 18楼 xiangzi728 的帖子

祥子哥总算来了
公式审核我看过了
可就是在你红色的那个地方没看明白
不理解啊。。。

TA的精华主题

TA的得分主题

发表于 2010-8-26 10:56 | 显示全部楼层
LOOKUP

请参阅

返回向量(单行区域或单列区域)或数组中的数值。函数 LOOKUP 有两种语法形式:向量和数组。函数 LOOKUP 的向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值;函数 LOOKUP 的数组形式在数组的第一行或第一列查找指定的数值,然后返回数组的最后一行或最后一列中相同位置的数值。

语法 1(向量)

语法 2(数组)
LOOKUP

请参阅

函数 LOOKUP 有两种语法形式:向量和数组。

向量为只包含一行或一列的区域。函数 LOOKUP 的向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值。如果需要指定包含待查找数值的区域,则可以使用函数 LOOKUP 的这种形式。函数 LOOKUP 的另一种形式为自动在第一列或第一行中查找数值。

语法 1

向量形式

LOOKUP(lookup_value,lookup_vector,result_vector)

Lookup_value    为函数 LOOKUP 在第一个向量中所要查找的数值。Lookup_value 可以为数字、文本、逻辑值或包含数值的名称或引用。

Lookup_vector    为只包含一行或一列的区域。Lookup_vector 的数值可以为文本、数字或逻辑值。

要点  Lookup_vector 的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE;否则,函数 LOOKUP 不能返回正确的结果。文本不区分大小写。

Result_vector    只包含一行或一列的区域,其大小必须与 lookup_vector 相同。

说明

如果函数 LOOKUP 找不到 lookup_value,则查找 lookup_vector 中小于或等于 lookup_value 的最大数值。
如果 lookup_value 小于 lookup_vector 中的最小值,函数 LOOKUP 返回错误值 #N/A。
示例

如果您将示例复制到空白工作表中,可能会更易于理解该示例。

操作方法

创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。


从帮助中选取示例。

按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
   
1
2
3
4
5
6
A B
频率 颜色
4.14 red
4.91 orange
5.17 yellow
5.77 green
6.39 blue
公式 说明(结果)
=LOOKUP(4.91,A2:A6,B2:B6) 在 A 列中查找 4.91,并返回同一行 B 列的值 (orange)
=LOOKUP(5.00,A2:A6,B2:B6) 在 A 列中查找 5.00,并返回同一行 B 列的值 (orange)
=LOOKUP(7.66,A2:A6,B2:B6) 在 A 列中查找 7.66(最接近的下一个值为 6.39),并返回同一行 B 列的值 (blue)
=LOOKUP(0,A2:A6,B2:B6) 在 A 列中查找 0,由于 0 小于查找向量 A2:A7 中的最小值,所以返回错误值 (#N/A)
LOOKUP

请参阅

函数 LOOKUP 有两种语法形式:向量和数组。

函数 LOOKUP 的数组形式是在数组的第一行或第一列中查找指定数值,然后返回最后一行或最后一列中相同位置处的数值。如果需要查找的数值在数组的第一行或第一列,就可以使用函数 LOOKUP 的这种形式。当需要指定列或行的位置时,可以使用函数 LOOKUP 的其他形式。

提示

通常情况下,最好使用函数 HLOOKUP 或函数 VLOOKUP 来替代函数 LOOKUP 的数组形式。函数 LOOKUP 的这种形式主要用于与其他电子表格兼容。

语法 2

数组形式

LOOKUP(lookup_value,array)

Lookup_value    为函数 LOOKUP 在数组中所要查找的数值。Lookup_value 可以为数字、文本、逻辑值或包含数值的名称或引用。

如果函数 LOOKUP 找不到 lookup_value,则使用数组中小于或等于 lookup_value 的最大数值。

如果 lookup_value 小于第一行或第一列(取决于数组的维数)的最小值,函数 LOOKUP 返回错误值 #N/A。

Array    为包含文本、数字或逻辑值的单元格区域,它的值用于与 lookup_value 进行比较。

函数 LOOKUP 的数组形式与函数 HLOOKUP 和函数 VLOOKUP 非常相似。不同之处在于函数 HLOOKUP 在第一行查找 lookup_value,函数 VLOOKUP 在第一列查找,而函数 LOOKUP 则按照数组的维数查找。

如果数组所包含的区域宽度大,高度小(即列数多于行数),函数 LOOKUP 在第一行查找 lookup_value。

如果数组为正方形,或者所包含的区域高度大,宽度小(即行数多于列数),函数 LOOKUP 在第一列查找 lookup_value。

函数 HLOOKUP 和函数 VLOOKUP 允许按行或按列索引,而函数 LOOKUP 总是选择行或列的最后一个数值。

要点  数组中的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE;否则,函数 LOOKUP 不能返回正确的结果。文本不区分大小写。

示例

如果您将示例复制到空白工作表中,可能会更易于理解该示例。

操作方法

创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。


从帮助中选取示例。

按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
   
1
2
3
A B
公式 说明(结果)
=LOOKUP("C",{"a","b","c","d";1,2,3,4}) 在数组的第一行中查找“C”,并返回同一列中最后一行的值 (3)
=LOOKUP("bump",{"a",1;"b",2;"c",3}) 在数组的第一行中查找“bump”,并返回同一行中最后一列的值 (2)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 08:05 , Processed in 0.032576 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表