IF函数对指定的条件执行判断,在条件为真时返回一个值,条件为假时返回另一个值。IF函数可以用于对数值和公式执行条件检测,能够有效提升模型灵活性,是工作表建模中最常用的关键函数之一。
IF函数语法形式为:IF(logical_test,value_if_true,value_if_false)。
其中,Logical_test为判断条件,即能够返回TRUE或FALSE计算结果的表达式。Value_if_true是判断条件为真时返回的值,Value_if_false是判断条件为假时的返回值。返回值参数均可以是文本、数字或其他公式。
判断表达式中允许使用各类比较运算符如等于(=)、小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、不等于(<>)。例如:
■ C5=C6:如C5单元格等于C6则返回TRUE,否则返回FALSE。
■ A10=100:如单元格A10中的值等于100,表达式的计算结果为TRUE;否则为FALSE。
■ C5=″″:如C5单元格为空则返回TRUE,否则返回FALSE。
■ SUM(A1∶A5)>=B5:A1∶A5区域的求和结果是否大于等于B5,是则返回TRUE,否则返回FALSE。
下例判断输入日期是否为周五,在IF函数中首先使用WEEKDAY函数返回星期几,而后判断其是否等于5,并返回结果。有关WEEKDAY函数的说明,参考日期函数章节(见图4-4)。
图4-4 使用IF函数判断是否星期五(www.xing528.com)
显然,单个IF判断只能处理两个可能的结果,并对每个结果赋予不同的返回值。某些时候可能存在多于两种可能结果的情况,此时可以使用多重IF函数依次执行判断,也即IF函数的嵌套使用。以双重嵌套的IF函数为例,其基本形式形如:
=IF(条件1,IF(条件2,结果21,结果22),结果12)
假设一个和销售业绩挂钩的佣金提成机制,针对不同的销售额实行不同的提成比例:销售额如低于400元,提成比例为7%,超过400元(含)但低于750元实行10%提成,超过750元(含)但低于1000元实行12.5%提成,1000元(含)以上的提成比例为16%。根据给定的销售额数据计算实际提成,由于涉及四种可能结果(见图4-5),本例使用IF函数嵌套的公式为:=IF(B12<400,B12∗7%,IF(B12<750,B12∗10%,IF(B12<1000,B12∗12.5%,B12∗16%))
图4-5 嵌套IF函数
可以发现,在涉及多种可能结果的判断中,嵌套使用IF函数会导致公式较为复杂,难以阅读和维护,在使用复杂的嵌套函数时需要注意的事项包括:
■ 一般而言,不建议在工作表建模中使用过多的嵌套IF函数(超过两重),对此类应用需求应尽可能转向使用其他查询函数,请参考章节4.3。
■ 如公式长度太长影响阅读,可使用Excel的单元格内断行,快捷键为<Alt+Enter>。
■ 某些时候需评估公式局部内容的计算结果,以核对公式语法或返回值是否正确,可在选定公式的一部分内容后按<F9>快捷键对选定内容执行计算,Excel会显示选定部分公式的计算结果。<F9>能够为复杂公式的调试提供简便途径,有关<F9>快捷键和公式求值的详细介绍请参考章节3.5.3。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。