Excel if条件的嵌套函数超过10个该怎么写

Excel if条件的嵌套函数超过10个该怎么写,第1张

可以在逗号后直接留空,省略不写,也可以写0 。=IF(条件1,结果1,IF(条件2,结果2,IF(条件3,结果3,IF(条件4,结果4,))))=IF(条件1,结果1,IF(条件2,结果2,IF(条件3,结果3,IF(条件4,结果4,0))))。

将已知数据建表,然后通过INDEX+MATCH函数查找引用数据。

在E10单元格输入=INDEX($H$2:$U$17,MATCH(B10,G$2:G$17,0),D10)

公式表示:在H2:J17单元格区域,由B10在G2:G17中的位置算作行号,以D10算作列号,交叉单元格即为引用数据。

扩展资料:

(1)Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。

例如,A10=100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE,否则为 FALSE。本参数可使用任何比较运算符(=(等于)、>(大于)、>=(大于等于)、<=(小于等于等运算符))。

(2)Value_if_true表示 logical_test 为 TRUE 时返回的值。

例如,如果本参数为文本字符串“预算内”而且 logical_test 参数值为 TRUE,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而 value_if_true 为空,则本参数返回 0。如果要显示 TRUE,则请为本参数使用逻辑值 TRUE。value_if_true 也可以是其他公式

参考资料来源:百度百科-IF函数

excel中if语句最多嵌套7曾,超过7层就会提示参数过多了。
最简单的改法如下:
=if(q5=117110,if(s5<=20,"844","918"),“0”)+if(q5=116110,if(s5<=20,"887","992"),"0")+if(q5=115210,if(s5<=20,"938","1043"),"0")+if(q5=115200,if(s5<=20,"960","1064"),"0")+if(q5=115110,if(s5<=20,"1005","1132"),"0")
PS:我后来发现,其实你的嵌套没有超过7层,不应该出现参数过多的问题。仔细一看,发现是你的公式打错了。
“1043”,这里少了一个括号,使得公式出错。同时,最后多了一个括号。
修改之后,整个公式还是成立的。

J6=IF(AM6=0,"",IF(ISNA(match($H$2,{6,7,8,9,10,11,12,1,2,3,4,5},)),1,sum(OFFSET($AR6,,,,match($H$2,{6,7,8,9,10,11,12,1,2,3,4,5},)))/AM6))
你的公式AM6=0时,你的第二段IF里面会报错,你要在乘号后面的IF加入AM6=0,"",再接着你的IF
J6=IF(AM6=0,"",IF($H$2=6,($AR6+0)/AM6,IF($H$2=7,($AR6+$AS6)/AM6,IF($H$2=8,($AR6+$AS6+$AT6)/AM6,IF($H$2=9,($AR6+$AS6+$AT6+$AU6)/AM6,IF($H$2=10,($AR6+$AS6+$AT6+$AU6+$AV6)/AM6,IF($H$2=11,($AR6+$AS6+$AT6+$AU6+$AV6+$AW6)/AM6,1)))))))IF(AM6=0,"",IF($H$2=12,($AR6+$AS6+$AT6+$AU6+$AV6+$AW6+$AX6)/AM6,IF($H$2=1,($AR6+$AS6+$AT6+$AU6+$AV6+$AW6+$AX6+$AY6)/AM6,IF($H$2=2,($AR6+$AS6+$AT6+$AU6+$AV6+$AW6+$AX6+$AY6+AZ6)/AM6,IF($H$2=3,($AR6+$AS6+$AT6+$AU6+$AV6+$AW6+$AX6+$AY6+AZ6+BA6)/AM6,IF($H$2=4,($AR6+$AS6+$AT6+$AU6+$AV6+$AW6+$AX6+$AY6+AZ6+$BA6+BB6)/AM6,IF($H$2=5,($AR6+$AS6+$AT6+$AU6+$AV6+$AW6+$AX6+$AY6+AZ6+$BA6+BB6+BC6)/AM6,1)))))))

IF函数,大家已经很熟悉了,在本平台上也多次讲过这个函数,这个函数在EXCEL函数中起着很重要的作用,它的应用也非常广泛。但这个函数有一个最大的弊端,就是当嵌套过多时,函数的读写会非常困难。不仅对新手,对于精通EXCEL函数的人员也是一样,一层一层的看,往往还会有疏忽的时候。
比如下面判断运动员得奖情况的一个函数公式:
有了运动员的成绩,利用RANKH函数很容易得到排名,然后用IF函数的4层嵌套得出"金牌"、"银牌"、"铜牌"、"仅得分,无奖牌"、"参加者"五种情况,在书写时要格外的小心,每层的嵌套不要有书写的错误。返回下面的结果。
为了避免多层嵌套的麻烦,上面的公式可以用CHOOSE函数来书写,我们先讲解一下此函数的意义:
Choose函数:其作用是从参数列表中选择并返回一个值。
语法:Choose(index_num, value1, [value2], )参数Index_num 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和254之间的数字。 或者为公式或对包含 1 到 254 之间某个数字的单元格的引用。
如果 index_num 为 1,函数 CHOOSE 返回 value1;如果为 2,函数 CHOOSE 返回 value2,以此类推。
如果 index_num 小于 1 或大于列表中最后一个值的序号,函数 CHOOSE 返回错误值 #VALUE!。
如果 index_num 为小数,则在使用前将被截尾取整。
Value1, value2, Value1 是必需的,后续值是可选的。这些值参数的个数介于 1 到254之间,函数 CHOOSE 基于 index_num 从这些值参数中选择一个数值或一项要执行的 *** 作。参数可以为数字、单元格引用、已定义名称、公式、函数或文本。
好了,有了CHOOSE函数的知识,我们看看上面的公式用此函数该怎么写;如D2的公式
写成:=CHOOSE(IF(C2<=4,C2,5),"金牌"、"银牌"、"铜牌"、"仅得分,无奖牌"、"参加者")
这个公式中避免了IF的多重嵌套,而且读起来也非常容易,五种情况也非常的清楚明了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13374321.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存