ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]第91个技巧中的EXACT函数

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-8-19 18:02 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
在技巧91中,Step2的公式是=OR(EXACT(A2,B$2:B$11))=FALSE。我有个疑问,EXACT函数不是对2个文本字符串进行比较吗,这里怎么是一个字符串与一组字符串比较?得到一组逻辑值吗? kS4aupXW.rar (1.79 KB, 下载次数: 132)

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-8-19 18:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
还有,后面说这个公式也能完成任务=NOT(OR(A2=B$2:B$11)),我也不明白,A2是一个数据,怎么能和B$2:B$11的一组数据进行比较呢?

TA的精华主题

TA的得分主题

发表于 2008-8-21 17:25 | 显示全部楼层

楼主,请先学一学书中关于什么是数组、什么是数组公式。

要是Excel不支持这样的对比,那几乎就废了,呵呵。

=NOT(OR(A2=B$2:B$11))——解释:

比方说:A2是同学甲,B2:B11是其他一群同学,你把他们叫过来,让同学甲一个个去跟他们比个子,一样高的就返回TRUE,不一样高的就返回FALSE,那么就会返回10个值。

OR(A2=B2:B11),只要B2:B11的同学中有一个与甲一样高,OR就可以返回TRUE

NOT(OR()),NOT函数将逻辑值反转,也就是OR返回TRUE,它就返回FALSE,专门对着干。

这么一来,整个公式就变成了“只要B2:B11的同学中有一个与甲一样高,就返回FALSE”

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-8-25 11:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢你,gouweicao78。你的举例让我的脑子一下子变得很清醒,受教了

TA的精华主题

TA的得分主题

发表于 2008-10-2 11:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请教:3楼说的"OR(A2=B2:B11),只要B2:B11的同学中有一个与甲一样高,OR就可以返回TRUE"好象不对,有一个一样高的话,只对应B2:B11数组中的相同的这个返回"TRUE",不一样的都会返回"FALSE",不知是不是这个意思 ?

TA的精华主题

TA的得分主题

发表于 2008-10-2 21:25 | 显示全部楼层
其实 我在考虑这样的一个问题 就是 NOT(OR(…………))Excel会不会优化,也就是只要OR判断出一个为True 就立刻返回False 在SQL Server和Oracle中都是这样的

TA的精华主题

TA的得分主题

发表于 2008-11-26 11:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 tclnxc 于 2008-10-2 11:25 发表
请教:3楼说的"OR(A2=B2:B11),只要B2:B11的同学中有一个与甲一样高,OR就可以返回TRUE"好象不对,有一个一样高的话,只对应B2:B11数组中的相同的这个返回"TRUE",不一样的都会返回"FALSE",不知是不是这个意思 ?


请看函数OR的帮助文件。我说的是OR返回TRUE,并不是A2=B2:B11都返回TRUE。
假设B2=A2,其他都不同,那么A2=B2:B11返回的是{True;False;False;False;False;False;False;False;False;False;}
而OR({True;False;False;False;False;False;False;False;False;False;})返回的是TRUE。

TA的精华主题

TA的得分主题

发表于 2008-12-7 22:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-4-18 12:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢你,gouweicao78

TA的精华主题

TA的得分主题

发表于 2011-7-12 20:15 | 显示全部楼层
原帖由 gouweicao78 于 26/11/2008 11:47 发表


请看函数OR的帮助文件。我说的是OR返回TRUE,并不是A2=B2:B11都返回TRUE。
假设B2=A2,其他都不同,那么A2=B2:B11返回的是{True;False;False;False;False;False;False;False;False;False;}
而OR({True;False;F ...


感謝版主分享~

但有一個問題,如果我用函數exact(A1,B1:B3),進行運算結果顯示的是Flase,實際運算是否可以理解為TRUE,FLASE,FLASE呢?
A1=a
B1=a,B2=b,B3=c.
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 09:39 , Processed in 0.043787 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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