if 语句在微软 excel

if statement in microsoft excel

这是我的声明

=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。

有什么问题吗?

谢谢

一个大胆的猜测,但您可能想将中间语句编辑为这个;

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

在 "Formulas" 选项卡的 "Formula Auditing" 部分,您会找到一个 "Evaluate Formula" 按钮。这将向您展示问题所在。

在 IF(5 < G7 < 11, G7 * D23) 语句中,当 G7=6 时,“5 < 6”部分的计算结果为 "TRUE" .接下来,这被评估为“TRUE < 11”,returns FALSE。这可以通过分别评估与 5 和 11 的比较来解决。

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

就我个人而言,我会明确说明 [value if false],但这并不是绝对必要的。

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

这样试试

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

嵌套 IF 时不需要 AND,因为第一个 IF 已经处理了 <6 个值,所以当处理第二个 IF 时,您只需要上限,同样没有第三个 IF,因为在前两个 IF 所有剩余值都必须属于类别 3

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

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

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

谢谢