您输入了太多参数 excel IF 错误

Posted

技术标签:

【中文标题】您输入了太多参数 excel IF 错误【英文标题】:You've entered too many arguments excel IF error 【发布时间】:2020-12-03 04:43:51 【问题描述】:

我正在尝试构建一个 IF 公式,但我收到一个错误,即我有太多参数。知道如何解决这个问题吗?

=IF(BZ190=$C$163,$C$163,IF(BZ190=$C$163*$C$165,$C$163*$C$166,IF(BZ190=$C$163*$C$166,$C $163*$C$167, IF(BZ190=$C$163*$C$167,Z190=$C$163*$C$168, IF(BZ190=$C$163*$C$168,$C$163*$C$169, IF( BZ190=$C$163*$C$169,$C$163*$C$170, IF(BZ190=$C$163*$C$170,$C$163*$C$171, IF(BZ190=$C$163*$C$171, $C$163*$C$172, IF(BZ190=$C$163*$C$172,$163*$C$173, IF(BZ190=$C$163*$C$173,$C$163*$C$174, IF( BZ190=$C$163*$C$174,$C$163*$C$175, IF(BZ190=$C$163*$C$175,$163), IF(AND((SUM(BZ190:BZ$190)-168 加元) )

【问题讨论】:

我怀疑应该是=IF(BZ190=$C$163,$C$163,IF(BZ190=$C$163*$C$165,$C$163*$C$166,IF(BZ190=$C$163*$C$166,$C$163*$C$167,IF(BZ190=$C$163*$C$167,Z190=$C$163*$C$168,IF(BZ190=$C$163*$C$168,$C$163*$C$169,IF(BZ190=$C$163*$C$169,$C$163*$C$170,IF(BZ190=$C$163*$C$170,$C$163*$C$171,IF(BZ190=$C$163*$C$171,$C$163*$C$172,IF(BZ190=$C$163*$C$172,$C$163*$C$173,IF(BZ190=$C$163*$C$173,$C$163*$C$174,IF(BZ190=$C$163*$C$174,$C$163*$C$175,IF(BZ190=$C$163*$C$175,$C$163,IF(AND((SUM(BZ190:BZ$190)-CA$168)<0,BZ190=""),$C$163*$C$165,""))))))))))))) 你能告诉我你改变了什么吗?因为它没有给我一个错误,但没有按预期的方式工作 在最后一个不应该存在的 IF 函数之前有一个右括号。 我怀疑,如果您提出潜在问题、数据样本和预期结果,可能会有更简单(且更易于维护)的解决方案。 【参考方案1】:

最后一个 if 子句如下所示:

IF(BZ190=$C$163*$C$175,$C$163),
                             ^
                             |
                             | bracket is obsolete

末尾不应该有括号,应该是:

IF(BZ190=$C$163*$C$175,$C$163,

但我这里还有一点:想象一下,在半年或一年之内,你需要修改一些东西。你将如何找出所有这些东西的含义?因此,我建议您使用名称,例如:

$C$163 equals "interest_rate"
$C$165 equals "student_income"
...

像这样,你的公式会变成这样:

IF(BZ190=interest_rate,interest_rate,
  IF(BZ190=interest_rate * student_income, ...

这将使阅读和维护更加清晰。而且,哦,在我忘记之前:在多行中编写公式(每行一个 if 子句)也增加了可读性和可维护性。

【讨论】:

非常感谢多米尼克!

以上是关于您输入了太多参数 excel IF 错误的主要内容,如果未能解决你的问题,请参考以下文章

Dapper:过程或函数指定了太多参数

存储过程指定了太多参数

lisp错误: 参数太多

Matlab,输入参数太多错误?

Excel公式构造辅助,参数太多

从 Sqlite 游标创建 Pojo 类花费了太多时间