ECEL中的and和or在逻辑运算中的应用.docx

上传人:牧羊曲112 文档编号:3060889 上传时间:2023-03-10 格式:DOCX 页数:4 大小:38.09KB
返回 下载 相关 举报
ECEL中的and和or在逻辑运算中的应用.docx_第1页
第1页 / 共4页
ECEL中的and和or在逻辑运算中的应用.docx_第2页
第2页 / 共4页
ECEL中的and和or在逻辑运算中的应用.docx_第3页
第3页 / 共4页
ECEL中的and和or在逻辑运算中的应用.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《ECEL中的and和or在逻辑运算中的应用.docx》由会员分享,可在线阅读,更多相关《ECEL中的and和or在逻辑运算中的应用.docx(4页珍藏版)》请在三一办公上搜索。

1、ECEL中的and和or在逻辑运算中的应用EXCEL中的*和and,+和or在逻辑运算中的应用 认为*是and、认为+是or: 比如公式1可以这么解释A列=小王且B列=收,对C列求和;公式2解释为A列是小王或者A列是小张,则对C列求和。 而实际上这个似乎非常符合汉语习惯的让人觉得非常“正确”的理解却是不完全的。此时的*号和+号仍然是乘和加的作用。 方法:工具公式审核一步步看公式的结果就知道了*和+号两边得到的是true,false组成的逻辑值数组,用于运算时true*true=1,true*false=0,true与任一数字作算术运算,得到原数字;false与任一数字作算术运算,得到0,得出结

2、果如果用于IF判断,0=False、其他数值=True;如果用于下一步计算则也是用1、0代入的 1、简单例子以及容易产生的“理解” 逻辑判断公式中,常常见到条件相*或相+,也常见到and和or,比如: =if(and(A10,A10)*(A10,A18),B1,C1)VS=if(A18),B1,C1)对比or和+ 以上两种情况是完全可以互换的。由此,初学函数的朋友就容易产生这么一种理解:“*就是and+就是or” 在某种意义上来说快速地解读公式含义的话,这个“理解”听起来最容易接受了。但不要由此就把这种逻辑判断中的理解扩散成“完全等价”!请看下一点: 在以下两个条件求和中: =sum(if(a

3、nd(A1:A20,A1:A20)*(A1:A20)*(A1:A20)+(A1:A20,A1:A28),B1:B2)=sum(if(and(True;True,True;False),B1:B2)=sum(if(False,B1:B2)=0 and(True;True,True;False)有出现False返回False;or公式类似。 由*、+得到的是: =sum(if(1;0,B1:B2)=sum(5;False)=5可以用F9键在编辑栏看出。 而=sum(if(2;1,B1:B2)=sum(5;11)=16 注:在逻辑判断if的条件中,0=False;非0的数值都=True 从以上的对比

4、可以看出:运算符*和+在逻辑判断中与and和or是不同的,前者得到的是数组,后者只能得到单值.在数组运算的情况下由于不能匹配故不能互换。 *和+的用法,实际上是针对相同尺寸的逻辑数组的算术运算,逻辑数组A*(+)逻辑数组B=逻辑数组C。而and(逻辑数组,逻辑数组)和or(逻辑数组,逻辑数组)中and和or的参数可以是数组,但却不是数组运算,没有数组的对应关系,其结果返回单值。所以两者是不能等价的。 从上面的知识点拓展一下,平时看到很多形式如if(条件1*条件2*,统计区域) 的简化if法(满足所有条件,返回统计区域,否则返回False。即数值和False组成的数组)和连乘法(利用数组相乘返回数组即数值和0的数组)原理并不相同.这一点狗尾草版主也强调过. 在sum中,因为简化没写的0对于加总求和并没有影响,所以大多可以通用。 在Average、Max、Min等函数中则不能通用: False在计算中大多情况=0,但并非都是这样。 比如Average会将连乘法中0算入平均的个数,而不会将简化if法中的False算入个数。 而由满足条件的值都是负数的情况下,max连乘法将得到0,max简化if法得到的才是正确答案。 连乘法对应的不是简化if法,而是if(条件1*条件2*,统计区域,0)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号