2019年excel公式中的If条件语句如何在excel公式中的if使用and和or逻辑

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

excel公式中的if条件语句如何在excel公式中的if使用and和or逻辑

2007-12-27

因为本人从事教学工作,经常要用到Excel对成绩进行计算汇总,其中遇到的一个典型的问题是如何根据分数来给出优、良、中、差的等级。

如果只有两个分数段(如及格、不及格两个级别)很好办,假设成绩数据已经输入单元格A1,直接用Excel公式输入条件A1>=60,为真时填写“及格”,为假时填写“不及格”就可以了。这时显示在Excel 单元格里的公式是:=IF(A1>=60, “及格”,“不及格”)。

如果有多个分数段,比如要求:

x<60-----------------------不及格

x>=60 AND x<75--------及格

x>=75 AND x<85--------良

x>=85----------------------优

其实很简单,只要了解Excel里IF函数参数和返回值的用法,第一个参数是条件,第二个参数是条件为真的返回值,第三个参数是条件为假的返回值;而且IF函数可以嵌套(根据Excel2003的帮助文件,最多嵌套可达七层),这样上面的问题可以用如下公式来解决:

=IF(A1<60,"不及格",IF(A1<75,"及格",IF(A1<85,"良","优")))

(这时无法使用Excel的交互式的方法输入,可以把这个公式修改后复制到单元格里)

因为Excel特有的单元格拖拽功能,很容易就把这个公式给复制到一整列上了,这样就实现了一系列成绩自动的给出等级,使用起来还是比较方便的。这个小技巧比较初级,但是我认为还是比较的实用的,见笑了。

(yanqlv原创,转载请注明出处)

feng1725改进与完善:

成绩的正常值在0到100之间,大于0或小于100就是非法值,对此,我们对以上公式进行改进:

由于if语句嵌套的层数比较多,容易混乱,我们先把分段的语句写清楚,先写简单的语句,后整合。

1、把业务条件转化为逻辑语句

if(and(a1>=0,a1<60),"不及格")

if(and(a1>=60,a1<80),"及格")

if(and(a1>=80,a1<90),"良")

if(and(a1>=90,a1<=100),"优秀")

if(or(a1<0,a1>100),"输入错误")

在Excel公式中and的与逻辑应写成and(a1>=0,a1<60),

而不是a1>=0 and a1<60,这是Excel公式和Excel VBA语言一点区别

2、整合:

if(and(a1>=0,a1<60),"不及格",if(and(a1>=60,a1<80),"及格",if(and(a1>=80,a1<90),"良",if(and(a1>=90,a1<=100),"优秀",if(or(a1<0,a1>100),"输入错误")))))

函数

本文介绍Microsoft Excel 中IF 函数(函数:函数是预先编写的公式,可以对一个或多个值执行运算,并返回一个或多个值。函数可以简化和缩短工作表中的公式,尤其在用公式执行很长或复杂的计算时。)的公式语法和用法。

说明

如果指定条件的计算结果为TRUE,IF 函数将返回某个值;如果该条件的计算结果为FALSE,则返回另一个值。例如,如果A1 大于10,公式=IF(A1>10,"大于10","不大于10") 将返回“大于10”,如果A1 小于等于10,则返回“不大于10”。

语法

IF(logical_test, [value_if_true], [value_if_false])IF 函数语法具有下列参数(参数:为操作、事件、方法、属性、函数或过程提供信息的值。):

logical_test 必需。计算结果可能为TRUE 或FALSE 的任意值或表达式。例如,A10=100 就是一个逻辑表达式;如果单元格A10 中的值等于100,表达式的计算结果为TRUE;否则为FALSE。此参

数可使用任何比较运算符。

value_if_true 可选。logical_test 参数的计算结果为TRUE 时所要返回的值。例如,如果此参数的值为文本字符串“预算内”,并且logical_test 参数的计算结果为TRUE,则IF 函数返回文本“预算内”。如果logical_test 的计算结果为TRUE,并且省略value_if_true 参数(即logical_test 参数后仅跟一个逗号),IF 函数将返回0(零)。若要显示单词TRUE,请对value_if_true 参数使用逻辑值TRUE。value_if_false 可选。logical_test 参数的计算结果为FALSE 时所要返回的值。例如,如果此参数的值为文本字符串“超出预算”,并且logical_test 参数的计算结果为FALSE,则IF 函数返回文本“超出预算”。如果logical_test 的计算结果为FALSE,并且省略value_if_false 参数(即value_if_true 参数后没有逗号),则IF 函数返回逻辑值FALSE。如果logical_test 的计算结果为FALSE,并且省略value_if_false 参数的值(即,在IF 函数中,value_if_true 参数后没有逗号),则IF 函数返回值0(零)。

说明

最多可以使用64 个IF 函数作为value_if_true 和value_if_false 参数进行嵌套,以构造更详尽的测试。(请参阅示例3,这是嵌套IF 函数的一个示例。)或者,若要测试多个条件,请考虑使用LOOKUP、VLOOKUP、HLOOKUP 或CHOOSE 函数。(请参阅示例4,这是LOOKUP 函数的一个示例。)

如果IF 的任意参数为数组(数组:用于建立可生成多个结果或可对

相关文档
最新文档