长IF语句中的错误

这个公式:

=IF(AND(A2<H2),(A2>=0),G2,IF(AND(A2<H3,A2>=H2),G3),(IF(AND(A2<H4,A2>=H3),G4),(IF(AND(A2<H5,A2>=H4),G5),IF(AND(A2<H6,A2>=H5),G6) 

给我的错误,“你input了太多这个函数的参数”。

我没有虚假的陈述; 我只是希望他们执行时,他们是真的。

您只需查看屏幕上的提示即可排解公式。 工具提示会告诉你到底你在哪里,关于公式语法和接下来的预期。

例子:

在这里输入图像说明

游标位于AND()语句的中间。 工具提示以粗体显示当前语法元素。 我们目前处于AND()的第一个逻辑条件。 下一个预期的条目是逗号和另一个逻辑条件。 右括号将closuresAND()语句。

您继续使用右括号,因此AND()语句将closures,并且公式继续使用包装IF()语句的下一个参数。

在这里输入图像说明

但是你认为你仍然在AND()函数中,并且提供了另一个逻辑条件,该条件被Excel解释为IF()函数的TRUE语句。

在这里输入图像说明

Excel现在需要IF函数的FALSE语句,然后是closuresIF语句的括号。 您提供一个单元格引用,然后用逗号继续另一个IF。 这个时候你已经为第一个IF语句input了太多的参数。 在下面的截图中,没有参数被突出显示。 Excel不能将正确的公式语法中的任何位置的当前光标位置。

在这里输入图像说明

如果您在input公式时观看工具提示,则可以看到AND语句太早closures。 删除多余的括号,现在看到工具提示。

在这里输入图像说明

我们现在处于第一个IF的FALSE语句中,并从另一个嵌套的IF()开始。 继续以这种方式,看看什么工具提示告诉你,你会到达正确的形成

  =IF(AND(A2<H2),(A2>=0),G2,IF(AND(A2<H3,A2>=H2),G3),(IF(AND(A2<H4,A2>=H3),G4),(IF(AND(A2<H5,A2>=H4),G5),IF(AND(A2<H6,A2>=H5),G6) 

在这里输入图像说明

观看Excel的有用提示可以节省很多时间。

除了前面提到的AND(...)语法问题之外,您还过早地closures了后面的IF(...)语句。

 =IF(AND(A2<H2,A2>=0),G2,IF(AND(A2<H3,A2>=H2),G3,IF(AND(A2<H4,A2>=H3),G4,IF(AND(A2<H5,A2>=H4),G5,IF(AND(A2<H6,A2>=H5),G6, "nothing matched"))))) 

… 要么,

 =IF(AND(A2<H2,A2>=0),G2,IF(AND(A2<H3,A2>=H2),G3,IF(AND(A2<H4,A2>=H3),G4,IF(AND(A2<H5,A2>=H4),G5,IF(AND(A2<H6,A2>=H5),G6))))) 

把它放到一个像记事本这样的文本编辑器中(用换行closures),并把你自己的公式放在它下面的行中来比较语法。