excel中 IF函数嵌套层数太多可以用什么函数替代

一组数从1-1000,1-100为空间1,100-199为空间2,200-299位空间3,以此类推到空间9。应该怎么简化? 求教,跪谢

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的多重嵌套,而且读起来也非常容易,五种情况也非常的清楚明了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-17

可以用LOOKUP函数,请看截图

第2个回答  2019-04-17
F2输入
=LOOKUP(S2,{0;100;200;300;400;500;600;700;800;900},{"空间1";"空间2";"空间3";"空间4";"空间5";"空间6";"空间7";"空间8";"空间9";"空间10"})
下拉
注意:1.如果数值不在S2单元格,请更正公式中S2为相应单元格
2.900-999为空间10追问

{0;100;200;300;400;500;600;700;800;900 老师,这个中的分号是区间的意思吗?不太理解这个

本回答被提问者采纳
第3个回答  2019-04-17
更换高版本的excel:2003版excel中if嵌套最高7层,再往上的版本就提高到了64层;更换函数:有些if函数可以使用lookup函数代替,如=if(a1<60,"不及格",if(a1<75,"及格",if(a1<85,"良","优"))),这个关系很明了,小于60不及格,60-75及格,75-85良,85以上为优,lookup函数则可写为=lookup(a1,{0,"不及格";60,"及格";75,"良";85,"优"}),这样就没有嵌套层数一说;如果上边两条还是解决不了,还可以将一部分公式自定义名称,然后用自定义的名称代替原公式中内层嵌套部分。
第4个回答  2019-04-17
一般情况下IF判断太多使用VLOOKUP代替,不过你这个例子其实根本不用IF判断,就是去数值的第一位,公式为:
="空间" & LEFT(R2,1)
相似回答