Excel公式中出现“函数过多”

xmd2e60i  于 2023-02-14  发布在  其他
关注(0)|答案(2)|浏览(192)

我正在为Excel编写公式。Excel指出我输入的参数太多。是否缺少任何括号或公式错误?
10000+IF(AND(F5>=98%, (D17-D125)>0),((D5*2.5)+(0.2*(D17-D125))),(D5*2.5),IF(AND(98%>F5,F5>=90%,(D17-D125)>0),((D5*1.5)+(0.1*(D17-D125))),(D5*1.5),IF(AND(90%>F5,F5>=80%,(D17-D125)>0),((D5*0.5)+(0.05*(D17-D125))),(D5*0.5),IF(AND(F5<80%),(D17-D125)>0),((D5*0)+(0*(D17-D125))),(D5*0))))
有没有更短的公式可以用?

hgqdbh6s

hgqdbh6s1#

那么,快速展示vlookup()如何工作的例子,Excel在函数参考中有很好的例子。vlookup()可以内置所有参数,所以只需要一个单元格。

=VLOOKUP(A2,$A$7:$B$11,2,1)

cwxwcias

cwxwcias2#

我不知道你在数学上的意图是什么,但看起来确实有一个简单的解决方案。但是在分析你的公式时..我几乎立刻就遇到了麻烦,因为我把它分解成了一个更程序化的If/then/else结构..所以你确实有放错位置的括号,IF()的额外参数,等等。
我真的很喜欢LET()函数来设置变量名,或者只是为了避免重复。既然你要链接IF,就用IFS()来代替。
LET()的工作方式与LET(名称1、值1、名称2、值2、结果)类似。
IFS()的工作方式类似于IFS(条件1,结果If 1,条件2,结果If 2)
像下面这样的东西至少对眼睛更容易。

LET(
    VarA, F5,
    VarB, D17-D125,
    VarC, D5,
    VarD, VarB > 0,
    IFS(
        AND(VarA > 98%, VarD), D5*2.5,
        AND(VarA < 98%, VarA >= 90%, VarD), D5*1.5 + 0.1*VarB,
        AND(VarA < 90%, VarA >= 80%, VarD), D5*0.5 + 0.5*VarB,
        ...
        TRUE, default value
    )
)

相关问题