如果在微软的声明excel

时间:2015-03-04 14:02:57

标签: excel if-statement

这是我的陈述

=IF(G7 < 6, G7 * D22) + IF(5 < G7 < 11, G7 * D23) + IF(10 < G7, G7 * D24)

如果G7单元格值小于6或大于10,则有效;但如果G7值为6到10,则结果为0。 单元格D23的值为15.

有什么不对?

谢谢

4 个答案:

答案 0 :(得分:1)

一个疯狂的猜测,但您可能想要编辑中间语句;

IF(AND( G7 < 5, G7 < 11), G7 * D23)

答案 1 :(得分:0)

在&#34; Formulas&#34;选项卡,&#34;公式审计&#34;你会发现一个&#34;评估公式&#34;按钮。这将向您显示问题。

在IF(5&lt; G7&lt; 11,G7 * D23)声明中,当G7 = 6时,&#34; 5&lt; 6 &#34;部分评估为&#34; TRUE&#34;。接下来,评估为&#34; TRUE &lt; 11&#34;,返回FALSE。这可以通过分别评估5和11的比较来解决。

 IF(AND(5 < G12,G12 < 11), G12 * $D$23)

就个人而言,我会明确说明[值如果为假],但这并非绝对必要。

=IF(G7 < 6, G7 * D22,0) + IF(AND(5 < G7,G7 < 11), G7 * D23,0) + IF(10 < G7, G7 * D24,0)

答案 2 :(得分:0)

试试这个

=IF(G7<6,D22,IF(G7<11,D23,D24))*G7

当你有嵌套的IF时你不需要AND,因为第一个IF已经处理了&lt; 6值,所以当处理第二个IF时你只需要上限,同样没有第三个IF,因为之后前两个IF所有剩余值必须属于第3类

答案 3 :(得分:0)

先生。 Pankaj Jaju给出了正确答案。

= IF(G7&lt; 6,G7 * D22)+ IF(AND(G7> = 6,G7&lt; 11),G7 * D23)+ IF(G7> = 11,G7 * D24)

我试过了(实际上我把AND(G7&gt; 5而不是G7&gt; = 6),但它是一样的)并且它有效。

谢谢