excel里面的函数问题该如何解决?

网友解答: 正确公式可以写成=IF(F1<129,F1-10,IF(F1<249,F1-20,F1-50))有3个结果的if函数多层嵌套可以这样理解=IF(条件1,结果1,i

网友解答:

正确公式可以写成=IF(F1<129,F1-10,IF(F1<249,F1-20,F1-50))

有3个结果的if函数多层嵌套可以这样理解

=IF(条件1,结果1,if(条件2,结果2,结果3))

如果多个条件和结果的嵌套,比如说有10个结果的话公式可以设置为(excel2003超过7层不支持,其他版本excel支持超过7层嵌套)

=IF(条件1,结果1,if(条件2,结果2,……if(条件9, 结果9, 结果10)))))))))

注意:在写公式的时候有个小技巧,条件可以从小到大写,也可以从大到小写,不要大小混着来

从小到大就是=IF(F1<129, F1-10,IF(F1<249,F1-20,F1-50))

从大到小就是=IF(F1=249,F1-50,IF(F1=129,F1-20,F1-10))

以上两个公式都对,都可以解决问题

初学者容易把公式写错,常见的情况会写成

=IF(F1<129,F1-10,IF(129=<F1<249,F1-20,if(F1=249,F1-50)))

这种写法符合我们思维习惯,但不符合公式的语法,首先if函数条件不支持129=<F1<249这样的写法,你可以写成and(F1=129,F1<249),即便这样了,公式写成

=IF(F1<129,F1-10,IF(and(F1=129,F1<249),F1-20,if(F1=249,F1-50))) 公式结果虽然是对的,但是公式看起来非常的冗长,逻辑关系之间存在重复,不够简洁,因为F1<129显示F1-10,否则在(F1=129并且F1<249)的情况下显示F1-20,这个否则本身就说明剩下的条件肯定是大于或等于129了,再写一遍F1=129的条件就显得多余了

网友解答:

三种办法

1 =IF(A1<129,A1-10,IF(A1=249,A1-50,A1-20))

2 =A1-LOOKUP(A1,{0,129,245},{10,20,50})

3 =A1-LOOKUP(A1,$F$1:$F$3,$G$1:$G$3)

标签: