龙空技术网

逻辑运算函数 --- IF、IFS

遗落的时光Y 64

前言:

今天大家对“c语言两个if语句并列怎么表示出来”大概比较关心,各位老铁们都需要学习一些“c语言两个if语句并列怎么表示出来”的相关文章。那么小编在网摘上汇集了一些关于“c语言两个if语句并列怎么表示出来””的相关知识,希望同学们能喜欢,你们快快来学习一下吧!

一、 逻辑运算函数1.1 --- 函数IF 逻辑判断

IF(logical_test判断条件,value_if_true成立,value_if_false不成立)

第一参数代表一个逻辑判断条件,会返回一个True或False的逻辑结果值;

当第一参数结果为True时,执行第二参数;当第一参数结果为False时,执行第三参数;

1.1.1- ------ 单条件判断返回值

公式 =IF(B2>=80,"合格","不合格") 当条件成立时判断为真,条件不成立时判断为假。

1.1.2- ------ 多条件判断返回值、IF嵌套

公式 =IF(B4=101,"现金",IF(B4=102,"股票",IF(B4=103,"原材料","")))

当B4条件成立时执行第二参数,不成立时执行第三参数。注意:多条件判断时括号的位置,右括号都在最后,有几个IF就输入几个右括号。IF函数最多嵌套64个。

1.1.3- ------ 多区间判断返回值

公式 =IF(B4>=90,"优秀",IF(B4>=80,"良好",IF(B4>=60,"合格","不合格")))

注意:IF在进行区间判断时,数字一定要按顺序判断,要么升要么降。

1.1.4- ------ 多条件并列判断返回值、AND、OR

公式 = IF(AND(B4>=80,C4>=80),"合格","不合格")

注意:And()表示括号内的多个条件要同时成立,Or()表示括号内的多个条件任一个成立。

1.1.5- ------ 复杂的多条件判断

=IF(OR(AND(A1>60,B1<100),C1="是"),"合格","不合格")

=IF(ADN(OR(A1>60,B1<100),C1="是"),"合格","不合格")

1.1.6- ------ IF({1,0}结构向左查询、VLOOKUP+IF逆向查找匹配

万能通用用法:=vlookup(查找值,if({1,0},查找列,结果列),2,0)

公式 =VLOOKUP(C11,IF({1,0},C3:C7,B3:B7),2,0)

注意:花括号{}表示数组数据,利用数组运算返回数组的原理。当输入完公式后,同时按Ctrl+Shift+Enter三键结束,会自动生成;故这一对大括号不是输入的,是按出来的。

=IF({1,0},……) ,{1,0}是一个水平方向的一维数组,它有两个值,1和0。用作IF函数的第一参数,1代替真,即True,0代替假,即False,说明返回的结果也只这两种;

如上,当条件成立时返回C列,当条件不成立时返回B列,从而位置互移,组成新的查询区域

当然,这里的{1,0}有很多设置方式,其1还可以设置为任何不等于0的数字或TRUE,效果一样,如{999,0},{TRUE,FALSE},{TRUE,0}……

1.2 --- 函数IFS

IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2],…)

即 =IFS(判断1,结果1,判断2,结果2,判断3,结果3...)

第一参数:第一个条件;第二参数:第一个条件正确时返回的结果

第三参数:第二个条件;第四参数:第二个条件正确时返回的结果

以此类推,最多可以设置127组对应的条件与结果…

相较于IF函数,IFS函数是没有条件错误时返回的结果的,如条件不满足,就会返回错误值#N/A,并且它的条件与结果都是成对出现的。

1.1.1- ------ 多区间判断

公式 =IFS(B6>=85,"优秀",B6>=75,"良好",B6>=60,"及格",B6<60,"不及格")

在进行区间判断时,数字一定要按顺序判断。

1.3 --- 函数 IFERROR 错值处理

IFERROR (value需要计算的公式, value_if_error当公式错误时指定返回的值)

第一参数,必需。是需要计算的公式,即检查是否存在错误的参数

第二参数,必需。当第一参数的计算结果错误时,即执行第二参数,否则将返回公式的结果。

计算错误值类型有 #N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?或#NULL!。

#N/A:公式中引用了不正确的数据源或数据源不可用

#VALUE!:公式中使用了错误的参数或运算对象类型,或公式自动更正功能不能更正公式时;

#REF!:公式中引用了无效的单元格

#DIV/0!:公式中有除数为0或除数为空的单元格;

#NUM!:当公式或函数中某个数字有问题时;

#NAME?:单元格公式中的函数名称有错误

#NULL!:使用了不正确的区域运算符或不正确的单元格引用;

如果value或value_if_error是空单元格,则IFERROR将其视为空字符串值 ("")。

1.1.1- ------ 单条件判断

=IFERROR(A2/B2,""),即把公式产生的错值显示为空

1.1.2- ------ SUM+IFERROR 忽略错误值求和

公式 =SUM(IFERROR(E2:E9,0)) 即可忽略错误值完成求和

注意:此函数为数组函数,需要CTRL+SHIFT+ENTER三键结束。

1.4 --- 函数ISNUMBER 数字判定

ISNUMBER(value) 用于判断指定数据是否为数字

参数value可以是空值/空单元格、错误值、逻辑值、文本、数字、引用值,或者引用要检验的以上任意值的名称

1.5 --- 函数公式组合1.1.1- ------ MIN+IF 用于计算指定条件的最小值

计算生产部的最低分数 =MIN(IF(A2:A9=F3,D2:D9))

先用IF判断A列的部门是否等于F3指定,若条件成立,则返回D列对应的分数,否则返回逻辑值FALSE:{FALSE;45;FALSE;FALSE;FALSE;66;FALSE;72}, 再使用MIN计算出其中的最小值。

MIN函数有一特性,即可自动忽略逻辑值,只对数值部分计算,最终得到指定部门的最低分数。

1.1.2- ------ IF+COUNTIF 关键字提取

公式 =IF(COUNTIF(A2,"*拱墅*"),"拱墅",IF(COUNTIF(A2,"*西湖*"),”西湖”,IF(COUNTIF(A2,”*下城*”,”下城”,””)

公式解析 COUNTIF(A2,"*拱墅*")中*为通配符,表示前后含有拱墅的字符,计数为1,没有则计数为0,再通过IF得到结果。

若区域较多,使用IF嵌套比较复杂,可以通过下面两种思路进行计算

先在D列建立一个关键词列,然后在B2输入 =LOOKUP(100,FIND($D$2:$D$4,A2),$D$2:$D$4)

或输入 =INDEX(D:D,MAX(ISNUMBER(FIND($D$2:$D$4,A2))*ROW($D$2:$D$4)))

这两个公式都需要CTRL+SHIFT+ENTER三键结束。

1.1.3- ------ IF+FIND 关键字提取

公式 =IF(ISNUMBER(FIND("拱墅",A2)),"拱墅",IF(ISNUMBER(FIND("西湖",A2)),"西湖",IF(ISNUMBER(FIND("下城",A2)),"下城","")))

如A列中带有“拱墅"两个字,那么输出为拱墅区,以此类推

简化关键函数解析 IF(ISNUMBER(FIND(“拱墅",A2)),”拱墅”,”"),

公式A:Find("拱墅",a2),表示在A2中查找关键词拱墅,如有,会返回一个位置,即7;如无,返回错误;

公式B:Isnumber(公式A),如括号里的公式是数值7,那么整体公式返回TRUE,如括号里是错误值,那么整体公式返回FALSE

整体公式:IF(公式B,"拱墅",""),如公式B的值是TRUE,为拱墅,否则为空

然后一直使用IF函数进行嵌套即可得到结果

若将FIND函数改成SEARCH函数也能得到同样的结果。

1.1.4- ------ SUM+IF 多条件求和

如图,统计薪资7500以上的男性员工的总工资,公式

=SUM(IF((C2:C8=H2)*(F2:F8>7500),F2:F8,0)),并同时按Ctrl+Shift+Enter 结束。

(C2:C8=H2)*(F2:F8>7500)为逻辑值组成的数组相乘,表示同时满足C2:C8中的数据是“男”且F2:F8中的数据是>7500元(*表示同时满足,+表示满足其一),结果为{0;0;1;0;0;0;1},为1时返回IF函数第二参数,为0时返回IF函数第三参数,最终IF函数返回的结果为数组{0;0;8000;0;0;0;8500},再用SUM对这个数组进行求和。

1.1.5- ------ SUM+IF+ISNUMBER 忽略错误值的文本求和

如图,忽略文本和错误值统计总销量,公式 =SUM(IF(ISNUMBER(C2:C10),C2:C10,0)),并同时按下Ctrl+Shift+Enter 结束

先用逻辑值函数ISNUMBER对数据区域C2:C10进行判断,当为数值时返回TRUE,否则返回FALSE,ISNUMBER(C2:C10)返回的结果为数组 {TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE},IF函数第二参数返回数组{121;"未统计";132;132;#VALUE!;211;166;#NAME?;138},第一参数数组中对应的元素TRUE会返回第二参数的数组对应的元素,IF函数最终的值为 {121;0;132;132;0;211;166;0;138},再用SUM函数对这个数组进行求和。

1.1.6- ------ IF+ISERROR 处理错误值

如图,用VLOOKUP查找“小包”对应的线上销量,“小包”在数据区域中并不存在,即查找值不存在,那么VLOOKUP会返回#N/A错误值,这时就需要借助IF+ISERROR将错误值转化为空值或自行设定的文本,公式为 =IFERROR(VLOOKUP(E2,A1:C10,3,FALSE)),"查找到此人”) 或写 =IF(ISERROR(VLOOKUP(E2,A1:C10,3,FALSE)),"查找到此人",VLOOKUP(E2,A1:C10,3,FALSE))

1.1.7- ------ IF 对不规则的重复值排序

对部门进行排序,公式 =IF(B2<>B1,1,A1+1),对相邻的两个上下单元格进行判断,不等于时,返回第二参数1,等于时,返回第三参数,为上个序号+1。

1.6 --- 函数NOT 逻辑求反

NOT(logical) 对其参数的逻辑求反

当值为TRUE,NOT返回的结果恰相反,结果为FALSE;当值为FALSE结果为TRUE。

1.7 --- 函数IFNA

IFNA(value, value_if_na)

如果公式返回错误值 #N/A(公式中引用了不正确的数据源或数据源不可用),则结果返回指定的值;否则返回公式的结果。语法和IFERROR相同,只是检查的错误值范围不同。

标签: #c语言两个if语句并列怎么表示出来 #c语言两个if语句并列怎么表示出来的