|
"And" "Or" "Not" 函数
http://hi.baidu.com/t_c_ming/item/13363ce4d61611aec10d7546
"And" "Or" "Not" 函数三个逻辑函数: AND (与) ; OR (或) ; NOT (非).
1. 最简单的一个 NOT (非) : "非" 就是"不是". 如果我们有一个逻辑 "我吃过早饭了", 那么 NOT("我吃过早饭了") 的结果就是 "我没有吃过早饭". (当然Excel没有办法这么智能判断中文句子, 这个只是例子, 大家不要Copy到Excel然后骂我骗人, 呵呵). 所以, NOT(TRUE) = FALSE ; NOT(FALSE) = TRUE (这样就明白了吧). NOT函数只有一个参数(参数可以是一个值也可以是一个表达式).
例子:
"A3"=(3>2) (结果是TRUE) >>> "A4"=NOT(3>2) (结果是FALSE)
[A6=10; A7=15] "A8" =(A6-A7>0) (结果是FALSE) >>> "A9"=NOT(A6-A7>0) (结果是TRUE)
2. 第二个 AND (与) : “AND(与)” 就是”并且”的意思. AND函数有两个(或以上)参数, AND的功能就是取这几个参数的交集. 我们要记住的是, 只要参数中有任何一个的值是FALSE, 那么AND函数的值就是FALSE; 仅当所有参数都是TRUE的时候, AND函数的值才是TRUE.
例子:
[A15="ABC", A16="XYZ", A17="123"] "A18 =AND(A15="ABC",A16="XYZ",A17="123")" 结果是"TRUE", 因为三个等式都是成立的. 那我来考考大家下面两个的计算结果是什么?
No. 1: "A19" = NOT(AND(A15="ABC",A16="XYZ",A17="123"))
No. 2: "A20" = AND(A15="ABC",A16="XYZ",A17=123)
第一个很简单吧, 就是把原来的结果在”非”一下, 那NOT(TRUE) 当然就是FALSE咯;
第二个呢? 结果为什么是FALSE? 大家注意了, 我上面写的是 (A17=”123”), 加了引号, 也就是说不是, 而是字符串"". 所以在第二个AND函数中, 前两个参数的结果是TRUE, 但是第三个参数的结果是FALSE, 所以整个函数的结果是FALSE. (这时候大家有可能会问: 我在单元格里面输入123, 它就自动是一百二十三啊, 我怎么输入才能是字符串"123"呢? 这个时候我们不能输入 "123", 如果这样的话, Excel会当作 前后两个双引号加上字符串123; 其实很简单, 我们在数字123前面加上一个单引号就可以了. 这样数字123就变成字符串123了. 这个还有什么用呢? 比如你输入身份证或者银行卡的时候, 数字太长Excel会自动截断后面的数字同时变成科学计数法 (如A24), 这个时候我们只要在前面加一个单引号就搞定了(如B24).
3. 第三个是 OR (或) : OR其实和AND的用法和参数都一样, 区别是"AND只要有一个参数是FALSE则结果是FALSE"; "OR函数只要有一个参数是TRUE则结果就是TRUE".
例子: 我们继续用上面AND例子中的数字: [A15="ABC", A16="XYZ", A17="123"]. 那么:
A29 = OR(A15="ABCD",A16="XYZW",A17="123") 结果是TRUE, 大家看到第一和第二个参数都是FALSE, 但是第三个参数是TRUE, 所以结果是TRUE;
A30 = OR(A15="ABCD",A16="XYZW",A17="1234") 结果是FALSE, 大家看到三个参数都是FALSE, 所以结果是FALSE (一个TRUE都没有);
好, 关于AND / OR / NOT 的基础我们已经讲完了, 相信大家对这三个函数有了一定的认识. 但是我们在实际的应用中一般都不会这么简单, 通常都需要多种判断的结合. 对于学理科的朋友相信不会有难度, 但是文科的朋友可能就要建立一下逻辑思维的概念, 把你想要实现的东西先转化成一个逻辑语言, 然后在写成函数就不难了. (这个是对一般情况而言, 如有例外请见谅)
我们现在来举个例子: 如下图所示数据, 列出了Team A 和Team B 中每个人的电话量和邮件处理量. 我们的问题是: 请找出电话和邮件量都多于20个的Agent.
分析题目 (就像我们在学校考试一样, 拿到题目第一就要审题): 要找出电话和邮件量都多于20的Agent, 也就是说 "电话量要大于20" 并且 "邮件量也要大于20":
"电话量要大于20" 用公式表达就是 (G4>20)
"邮件量要大于20" 用公式表达就是 (H4>20)
那么: "电话量要大于20" 并且 "邮件量也要大于20" 就是: I4 = AND(G4>20, H4>20) (然后我们用之前说的把鼠标移到I4单元格的右下角变成粗体十字的时候双击. 这样我们就得到下面的结果:
这样看其实已经知道结果了. 但是很难看是不是? 那我们就用前面讲的IF函数来"美化"一下: 如果"电话和邮件量都多于20个", 则显示"Good", 其他显示"Normal". 怎么写?
J4==IF(AND(G4>20, H4>20),"Good","Normal") (再次强调, 字符串要用引号, 这个大家容易忘记) 结果如下:
好. 我们现在把题目再弄复杂一些, 我们要找出 "电话和邮件量都多于20个"或者"邮件量超过30个", 同时"名字不叫John"的Agent. 继续审题:
要求1: "电话和邮件量都多于20个" 这个我们前面已经做了: AND(G4>20, H4>20)
要求2: "邮件量超过30个" : (H4>30)
要求3: "名字不叫John" : (F4<>"John") [] 或者还可以怎样写? 我们前面学了NOT, 所以也可以写成 (NOT(F4=”John”)) [对于字符串的比较Excel是区分大小写的, 这个大家要注意]. 接下来怎么做? 接下来就是变形金刚开始合体了.
看看我们的题目: 有一个"或者" 和 一个"同时". 我们把, 把. 那么函数就变成 =AND(OR(要求1, 要求2),要求3). 把上面的式子都套上去再用IF "美化"一下就变成:
=IF(AND(OR(AND(G4>20, H4>20), (H4>30)), NOT(F4="John")),"符合条件","不符合条件")
这样就得出了我们想要的结果 (如下图):
当我们在写嵌套函数的时候(就是一个函数套另外一个函数), 初学者一般都比较难适应, 这个时候我的建议是你先把函数分开在不同的单元格里面, 然后最后Copy到一起, 然后再慢慢学习2个函数的嵌套, 3个函数的嵌套…..这样就会习惯了.
Excel会自动在嵌套函数中把相对应的括号标上不同的颜色(如下图), 这样你在检查你的公式的时候就比较容易定位. (如果是色盲我就没有办法了)
以上例子的数据在这里.
在这里我还要强调一下, 学习Excel和"卖油翁"一样, 要"手熟", 也就是要"多练", 多练习才能记住函数的用法, 真正理解了函数你在要实现一个功能的时候才能想起来要用哪个函数. 熟能生巧嘛..... 加油.
|
|