IFS和IF看上去名字差不多,加一个S,像是变成了复数,确实也是如此,IFS的参数可以有许多个,两个参数是一组。分别是一个条件对应这一个返回值。白话解释一下就是,如果第一个条件满足就返回第一个值,如果第一个不满足就看第二个,如果满足就返回第二个值,以此类推,第三个、第四个等等。
IFS(参数1条件1,参数2返回值1,参数3条件2,参数4返回值2)官方说明最多允许使用127组条件。
这个函数和IF函数不同,不提供条件为否时返回的值,所以一般会把最后一组参数设置一个兜底的条件,意思是前面所有条件都不满足时,这个条件一定会满足,比如直接将条件设置成TURE,肯定会成立啊,因为是一个常数。这样就能确保会在你设置的范围内返回一直值,而不是返回一个#N/A的错误。通常1也代表TURE。
先举个例子:
注意看红色箭头标注的兜底条款。
这个用处也很多,但是不建议嵌套太多层,万一有一个错误,查找起来相当麻烦。需要判断的条件如果特别多,建议还是单独设置一个参数表,用VLOOKUP函数进行查找,会比较简洁也容易查错和阅读。
举个例子,用一小块区域来存储各个区域毛利计算的比率,先查找区域再乘销售。最后套上一个判断错误的函数。
感觉写完了以后,也挺麻烦的。但是如果判断条件特别多的话,这个用起来就方便多了,而且还可以再多个表里重复的使用这个毛利率的参数。