我直接写我设置的公式吧,IF嵌套超过7层结果出错啦,但是我不知道该怎么设置啦:
=if(and(L3>=4,G3="员"),2,
if(and(L3>=4,G3="组"),3,
if(and(L3>=4,G3="主"),4,
if(and(L3>=4,L3<=6,G3="经"),6,
if(and(L3>=4,L3<=6,G3="总"),8,
if(and(L3>=4,L3<=6,G3="大"),8,
if(and(L3>=8,L3<=20,G3="经"),8,
if(and(L3>=8,L3<=20,G3="总"),10,
if(and(L3>=8,L3<=20,G3="大"),10,
if(L3>=25,10,"")))))))))
这个是我能想到的公式,如果嵌套没有超过7层,问题就解决啦。但是现在我的问题还是没办法解决。希望高手帮忙哦!!献上我全部的财富值啦!
如果你用的是2016年以后版本的EXCEL或者WPS,可以使用IFS函数,相对更加方便。
IFS 函数检查是否满足一个或多个条件,且是否返回与第一个 TRUE 条件对应的值。IFS 可以取代多个嵌套 IF 语句,并且可通过多个条件更轻松地读取。
语法
IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], [logical_test3, value_if_true3],…)
logical_test1(必需) 计算结果为 TRUE 或 FALSE 的条件。
value_if_true1(必需) 当 logical_test1 的计算结果为 TRUE 时要返回结果。可以为空。
logical_test2…,logical_test127(可选) 计算结果为 TRUE 或 FALSE 的条件。
value_if_true2…,value_if_true127(可选) 当logical_testN的计算结果为 TRUE 时要返回结果。每个value_if_trueN对应于一个条件logical_testN。可以为空。
说明
IFS 函数允许测试最多 127 个不同的条件。
例如:
也即如果(A1 等于 1,则显示 1,如果 A1 等于 2,则显示 2,或如果 A1 等于 3,则显示 3)。
一般不建议对 IF 或 IFS 语句使用过多条件,因为需要按正确的顺序输入多个条件,这样一来,构建、测试和更新会变得十分困难。
=IFS(A1=1,1,A1=2,2,A1=3,3)
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
示例一:
单元格 A2:A6 的公式如下:
=IFS(A2>89,"A",A2>79,"B",A2>69,"C",A2>59,"D",TRUE,"F")
如果(A2 大于 89,则返回“A”,如果 A2 大于 79,则返回“B”并以此类推,对于所有小于 59 的值,返回“F”)。
示例二:
单元格 G2 的公式如下:
=IFS(F2=1,D2,F2=2,D3,F2=3,D4,F2=4,D5,F2=5,D6,F2=6,D7,F2=7,D8)
如果(单元格 F2 中的值等于 1,则返回的值位于单元格 D2,如果单元格 F2 中的值等于 2,则返回的值位于单元格 D3,并以此类推,如果其他条件均不满足,则最后返回的值位于 D8)。
备注:
若要指定默认结果,请输入一个对于 logical_test 参数始终为 true 的条件,如 TRUE 或 1=1。如果不满足其他任何条件,则将返回相应值。在示例 1 中,行 6 和行 7(成绩为 58)展示了这一结果。
如果在没有相应 value_if_true 的情况下提供了 logical_test 参数,则此函数将显示典型的“你为此函数输入的参数过少”错误消息。
如果 logical_test 参数经计算解析为 TRUE 或 FALSE 以外的值,则此函数将返回 #VALUE! 错误。
如果找不到 TRUE 条件,则此函数将返回 #N/A!错误。
我知道最高的是7层,所以希望高手帮忙哦,看看是不是有其他公式可以解决我的需求