ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] LOOKUP个人看法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-4-27 09:58 | 显示全部楼层
本帖最后由 jivy1212 于 2019-4-27 10:04 编辑
micch 发表于 2019-4-27 09:20
=LOOKUP(0,0/{-1,0,0,0,2,9,0,1,0,8},ROW(1:10))变为
=LOOKUP(0,{0,#DIV/0!,#DIV/0!,#DIV/0!,0,0,#DIV/0!, ...

我理解的忽略错误值不能直接无视忽略值,只是在二分法判断点遇到的时候向后顺延一个;而当二分法遇到相同值后进行的顺延向后一个个对比是不能忽略错误值的,它也是需要作为一个停止判断点

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-4-27 10:08 | 显示全部楼层
本帖最后由 micch 于 2019-4-27 10:21 编辑
jivy1212 发表于 2019-4-27 09:58
我理解的忽略错误值不能直接无视忽略值,只是在二分法判断点遇到的时候向后顺延一个;而当二分法遇到相同 ...

脑子不够用啊,我一直觉得也是错误值也算向量数组的个数,但是楼主和丢老师的例子,忽略错误值后进行查找结果也相同

等回头脑袋清晰点了,试试能不能模拟一个两种查找方法结果不同的例子出来。
  1. =LOOKUP(6,{1,7,6,"na","n","n","u","n","h",4,"n","n","n","y","j",9,6,7})
复制代码
结果是4,18个元素,第一次查找到第9个元素,非数字,所以和右侧4比较。得到    4,"n","n","n","y","j",9,6,7  ,然后第二次查找,因为中间值非数字向右直到9,比对,所以得到 左半边?   4,"n","n","n"  所以结果是 4 ?




TA的精华主题

TA的得分主题

发表于 2019-4-27 10:20 | 显示全部楼层
本帖最后由 jivy1212 于 2019-4-27 10:24 编辑
micch 发表于 2019-4-27 10:08
脑子不够用啊,我一直觉得也是错误值也算向量数组的个数,但是楼主和丢老师的例子,忽略错误值后进行查找 ...

哪个?没发现你说的这个情况,无论楼主的还是丢丢老师的=LOOKUP(3,{1,"A",5,"B",3,3,3,#DIV/0!,3,3},{1,2,3,4,5,6,7,8,9,10}) 改个丢丢老师的例子?你看看,如果错误无视掉就不对了

TA的精华主题

TA的得分主题

发表于 2019-4-27 10:24 | 显示全部楼层
jivy1212 发表于 2019-4-27 10:20
哪个?没发现你说的这个情况,无论楼主的还是丢丢老师的

19楼那个例子,我按照去掉错误值后的所有元素,查找,结果也是一样的。

丢丢老师C5,那个例子,如果不算文本和错误值,只考虑6个数字,结果也是9

不过我想我是错了,应该错误值和文本还是要考虑的,不是完全忽略,而是不作为结果考虑的忽略。还是要算元素数量的。

TA的精华主题

TA的得分主题

发表于 2019-4-27 10:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
不能说忽略,是数据类型不一样,直接排除了而已,不会像相同数据类型一样比较再缩小范围,而是,直接向后(右)一个继续比较判断

评分

4

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-4-27 10:34 | 显示全部楼层
象山海鲜 发表于 2019-4-27 10:29
不能说忽略,是数据类型不一样,直接排除了而已,不会像相同数据类型一样比较再缩小范围,而是,直接向后( ...

这个说法更容易理解,支持下

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-4-27 10:36 | 显示全部楼层
zopey 发表于 2019-4-27 09:19
Lookup 第二参数包含有 ;中文、字母、数字、逻辑值、错误值 等各种字符时,

其他字符 可否替换为 某个 ...

老师,首先感谢您的回复,这个还没考虑,但我个人认为,如何与匹配查找字符不符合的会自动忽略,因为是替换,本身还是文本,所以依然还是文本,按照继续按照文本型来进行比较 但是您说的TRUE和FALSE,确实没有办法解释,下面是例子。
个人认为原因 在于:不了解函数本身设计的机制(程序员设计的思路),所以有些问题只能是猜测

true、flase的查找.rar

8.11 KB, 下载次数: 3

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-4-27 10:41 | 显示全部楼层
本帖最后由 jivy1212 于 2019-4-27 10:43 编辑
我走我流 发表于 2019-4-27 10:36
老师,首先感谢您的回复,这个还没考虑,但我个人认为,如何与匹配查找字符不符合的会自动忽略,因为是替 ...

按海鲜上楼给的思路很容易理解,LOOKUP会以第一参数的形式在第二参数里自动选择对比,不是同一类型的不比较,顺延。LOOKUP比较聪明,自动屏蔽苹果好还是汽车好这种傻问题

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-4-27 10:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
象山海鲜 发表于 2019-4-27 10:29
不能说忽略,是数据类型不一样,直接排除了而已,不会像相同数据类型一样比较再缩小范围,而是,直接向后( ...

同意老师的观点,第一个2分值不符合,就向右再找,直到找到2分值

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-4-27 10:46 | 显示全部楼层
本帖最后由 我走我流 于 2019-4-27 10:49 编辑
jivy1212 发表于 2019-4-27 10:41
按海鲜上楼给的思路很容易理解,LOOKUP会以第一参数的形式在第二参数里自动选择对比,不是同一类型的不比 ...

老师这个解释,很好理解了,需要查找的TRUE和FALSE属于特殊匹配型号,不属于数值和文本,所以!!!!
谢谢老师的解释!!!!!!!!明白了,,特殊字符不同于任何文本。。也就是说只能和TRUE和FALSE比较
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 08:19 , Processed in 0.048594 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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