下面我们将介绍IF函数。这是在公式中经常要使用的一个函数,为公式提供判断功能。 IF函数判断是否满足某个条件,如果满足返回一个值,如果不满足则返回另一个值。 什么情况下使用IF函数? IF函数可以根据判断的情况,返回不同的值。因此,它能够:
IF函数语法 IF函数带有三个参数,其语法如下:
IF函数陷阱 使用IF函数时,要确保在判断条件为TRUE或FALSE时放置正确的值,不能将判断为TRUE的值放置到第3个参数,或者将判断为FALSE的值放置到第2个参数,这是Excel不能解决的。 IF函数可以嵌套使用,但过多的嵌套会使逻辑关系难以理解,也容易出错。因此,如果公式需要嵌套很多层,最后将公式拆分或者寻找其他更简化的方法。
示例1: 标记满足特定条件的数据 假如有一系列反映产品销量增长情况的数据,需要标识出销量下滑的数据并直观地反映下滑的程度,例如下图所示的工作表,我们使用“↓”来标识销量下滑的产品,并且“↓”越多销量下滑越严重。 在单元格C2中的公式为: =IF(B2<>↓',B2*-100),'') 因为B2中的值大于0,所以B2<>为FALSE,结果返回空。将公式下拉至最后一个数据单元格,结果如下图所示。 示例2: 避免除数为0 在Excel中,如果试图除以0,那么公式将返回#DIV/0!错误。此时,可以使用IF函数来检查除数,以确保在表达式中参与计算的数不为0。本示例中,毛利润的计算公式为:(销售额-成本)/成本,如果成本为0,那么会返回错误。为避免除数为0,在单元格C2中的公式为: =IF(B2<>0,(A2-B2)/B2,'成本为零') 如果B2的值不为0,则使用公式进行计算,否则显示“成本为零”。将公式下拉至其他单元格,结果如下图所示。 示例3: 计算所得税 在本例中,判断收入值,根据不同的税率计算所得税。
在单元格B2中的公式是: =IF(A2>3000,IF(A2>5000,IF(A2>8000,A2*10%,A2*7%),A2*5%),A2) 也可以使用下面的公式: =IF(A2<><><>
示例4: 根据多个条件确定考核等级 可以将多个条件联合起来作为IF函数的测试条件。本例中,只有考核分数大于85且出勤天数大于100天的员工的考核等级才是“A”。在单元格E2中的公式为: =IF(AND(C2>85,D2>100),'A','') 使用AND函数联合两个条件的结果。 示例5: 作为条件格式的条件 本例中,当温度值大于报警值,并且温度值小于10度时,给测点标识红色。在条件格式规则中的公式为: =IF(AND(B2<><> 注:实际上公式可以简化为= AND(B2<><>。
示例6: 只对正值求和 如果要求只计算正数,那么可以使用数组公式: =SUM(IF(A1:A7>0,A1:A7,0)) 公式中的IF函数返回一组只包括正值和0的数,而SUM函数将这组数相加。 示例7: 统计指定数据出现的次数 可以使用带IF函数的数组公式统计指定数据在某区域中出现的次数。下图所示的工作表中“张三”在单元格区域A2:A7中出现的次数,使用的数组公式为: =SUM(IF(B1=A2:A7,1,0)) 将单元格B1中的值与单元格A2:A7中的值比较,如果相同,则返回1,否则返回0,SUM函数将返回的值相加,得到B1中的值在A2:A7中出现的次数。 示例8: 获取指定数据出现的位置 有时候,想要获取指定数据在区域中最后一次出现的位置。例如,在下图所示的工作表中,获取单元格B1中的值在单元格区域A2:A7中最后一次出现的位置,可以使用数组公式: =ADDRESS(MAX(IF(B1=A2:A7,ROW(A2:A7),'')),COLUMN(A2:A7)) IF函数生成B1的值在A2:A7中行位置值的数组,MAX函数返回最大值,即最后一次出现的行位置,ADDRESS函数根据行列号返回绝对地址。 注:数组公式要按Ctrl+Shift+Enter组合键完成输入,Excel会在公式两侧自动添加一对花括号。 本文属原创文章,转载请联系我(xhdsxfjy@163.com)或者注明出处。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。 |
|