长IF语句中的错误

时间:2014-10-08 00:29:47

标签: excel if-statement excel-formula worksheet-function

这个公式:

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

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

我没有虚假陈述;我只是希望它们在真实时执行。

2 个答案:

答案 0 :(得分:2)

您只需查看屏幕上的提示即可对公式进行问题排查。工具提示将告诉您关于公式语法的确切位置以及接下来的内容。

示例:

enter image description here

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

继续使用右括号,因此关闭AND()语句,公式继续包含IF()语句的下一个参数。

enter image description here

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

enter image description here

Excel现在需要IF函数的FALSE语句,然后是关闭IF语句的括号。您提供单元格引用,然后使用逗号继续另一个IF。到目前为止,您已为第一个IF语句输入了太多参数。在以下屏幕截图中,不会突出显示任何参数。 Excel无法将当前光标位置放在正确的公式语法中。

enter image description here

如果在输入公式时查看工具提示,则可以看到AND语句过早关闭。删除多余的括号,然后立即查看工具提示。

enter image description here

我们现在处于第一个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) 

enter image description here

观看Excel的有用提示可以节省大量的故障排除时间。

答案 1 :(得分:0)

除了前面提到的AND(...)语法问题之外,您过早关闭了后面的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)))))

将它放入记事本等文本编辑器中(线条换行),并将自己的公式放在它下面的行中,以比较语法。