excel if函数,结果只显示第一个条件的结果,这是为什么?

发布网友

我来回答

5个回答

热心网友

if条件中当一个值在一个区间内,即大于某值,且小于某值时,是不可以写在一起的,而是要分开写。所以公式

=IF(AND(D3<=275,$E3<=2.5),0.2*D3,IF(AND(D3>275,E3<=9,E3>2.5),0.2*D3,IF(AND(D3>1500,$E3>9),0.2*D3)))

公式在D3与E3同时有值的条件下执行。若两个单元格任一为空时,不显示结果,则

=IF(OR(D3="",E3=""),"",IF(AND(D3<=275,$E3<=2.5),0.2*D3,IF(AND(D3>275,E3<=9,E3>2.5),0.2*D3,IF(AND(D3>1500,$E3>9),0.2*D3))))

追问如果要使得第二个条件最少100,该怎么改函数啊

热心网友

最后一个if判断缺少判断为假的时候的输出参数,缺省的话就是输出FALSE。
你这三个条件都是与的关系,有很大一部分值的范围都没涵盖,最后都会是FALSE

热心网友

你的公式中有:2.5<E3<=9
Excel的公式不可以这样写的,不能连续这样使用小于号,应该分解成2个条件,你都会用AND函数了,这意思应该一说就明白的,公式修改如下:
=IF(AND(D3<=275,$E3<=2.5),0.2*D3,IF(AND(D3>275,2.5<E3,E3<=9),0.2*D3,IF(AND(D3>1500,$E3>9),0.2*D3)))
当然,还是会有FALSE的情况,因为你的if函数没有把所有的情况都考虑全。
要考虑齐全就是要这3个if函数都不满足的情况下,该显示什么结果?
就是在最后再加一个参数,我下面的公式是加了一个0。你可以根据自己的需求修改参数。
=IF(AND(D3<=275,$E3<=2.5),0.2*D3,IF(AND(D3>275,2.5<E3,E3<=9),0.2*D3,IF(AND(D3>1500,$E3>9),0.2*D3,0)))

热心网友

你的计算结果,都是0.2*D3,列式无意义了吧?
另外,不能用“2.5<E3<=9”,因改为“E3>2.5,E3<=9”。
=IF(AND(D3<=275,$E3<=2.5),0.2*D3,IF(AND(D3>275,E3>2.5,E3<=9),0.2*D3,IF(AND(D3>1500,$E3>9),0.2*D3)))
还有,E3有的加绝对化符号、有的没有,跟列式有关吗?追问0.2*D3只是一个例子计算式子,可以改的,就是如果输入280,结果也出现FALSE这是为什么

追答你有两组数据,至少有4组条件(大大、小小、大小、小大),你的公式D3还有3个值,条件就会更多。
而你的公式里面才3组条件,剩下的就有可能被判断错误FALSE了。
……
你已经采纳答案结束问题。算了!当我没说。

热心网友

函数 if(条件,结果1,结果2) 你的上面的表达式并没有意义,不管条件为真为假,结果都是D3*0.2 , 所以不管D3和E3值如何,结果= D3*2 就行。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com