cainiaofei

2022-09-29   阅读量: 646

Excel 中怎样解决 IF 函数多于 7 层嵌套?

Excel 中怎样解决 IF 函数多于 7 层嵌套?
添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 1 关注作者 收藏

评论(1)

85691082
2022-09-29
用数组公式解决 IF() 函数 7 层嵌套问题

Excel 中的函数嵌套最多可有 7 层。

对于 IF(),有些时候可以配合AND(),OR()来解决多层次问题。

不过有些时候用它们是解决不了的,这就需要我们考虑其它的方法。

最开始,我还以为只有 IF() 函数有 7 层嵌套问题,后来用想用 CHOOSE() 替换 IF() 时,才发现 CHOOSE() 也不能做大于 7 层的嵌套。

最后得出:Excel 中可能所有函数都不能超过7层嵌套。

先看看 IF() 函数的语法:

IF(logical_test,value_if_true,value_if_false),

这里要研究的是 logical_test ,它只能返回 TRUE 或 FALSE ,

而 Excel 中 TRUE 值为1, FALSE 值为0,不过要想体现出 1 和 0 ,

必须对 TRUE 和 FALSE 作加 0 或 乘 1 之类的操作(也就是说把类型转换一下)。

再一点,也是非常关键的一点是:

对于IF()结构来说,只要遇到 logical_test 为 TRUE(按照条件的顺序) ,则结束判断。

原理清楚了之后,就开始实际操作了:

首先,把条件按顺序陈列出来。

比如:A1<-50,-50<=A1<0,A1=0,0<A1<50,...

相当于:IF(A1<-50,...,IF((A1>=-50)*(A1<0),...,IF(A1=0,...,IF((A1>0)*(A1<50),...,...))))

说明:这里的 * 含义为 AND , 之所以用它,是因为将用到数组公式。

写到这里就差不多了,最后要做的就是:使条件和结果对应起来。

根据刚才说的,只要遇到条件为 TRUE(按照条件的顺序) ,则结束判断。

所以我们要找到第一个满足条件的位置。

先给个例子:

{=MIN(IF({TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,TRUE}+0={1,1,1,1,1,1,1,1,1},{1,2,3,4,5,6,7,8,9}))}

这里的{TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,TRUE}即为条件,共有九个;

{1,1,1,1,1,1,1,1,1}相当于一个全是 TRUE 的数组(这是为了方便,完全可以用TRUE替换);

{1,2,3,4,5,6,7,8,9}是满足条件对应的操作(这里只是简单的数值)。

MIN()目的是为了找到第一个满足条件的位置。

这里有个问题,就是如果条件都为 FALSE 时,则 MIN() 返回0,

这是因为没有与全不满足条件对应的项,

如果再加个判断条件,就显得冗余了,

简单的办法是对单元个设置 自定义数字格式 , 对 0 位置设置格式即可。

比如:...;...;"数据未找到"

上面的例子是一个标准的IF()结构,如果想让条件为 FALSE 时,执行相应的操作,只要把{1,1,1,1,1,1,1,1,1}中的1换成0即可

IF(条件,真,假)&IF(条件,真,假)&

IF(条件,真,假)&..............

其中假为空,即输入""(两个双引号)

=(I3/D3>=73.08)*7+(AND(I3/D3<73.08,I3/D3>=69.03))*6.5+(AND(I3/D3<69.03,I3/D3>=64.5))*6

一个单元格实现

)(数组形式输入)。

将七层之外的IF语句,放在另外的单元格内来处理,例:C5=if(if,...,(if...),B5))),B5单元格就是存放七层之外的IF语句。依此类推,可以实现在数据库语言中CASE语句的功能。

当然,对于初学者会有一些困难。

这里给出一个解决IF函数嵌套超出范围的方法,可能比较容易使初学者看懂。其思路是:一个单元格做不了的事,分给两个或更多的单元格来做,文字内容是这样,函数内容也是这样。

例子:假如 A1=1,则 B1=A;A1=2,则 B1=B …… A1=26,则 B1=Z

解决方法如下:

根据情况,可以将 C、D、E 这些从事辅助运算的单元格放在其它任何地方,或

一个单元格也可以实现!

0.0000 0 0 回复

推荐帖子


    暂无数据

推荐课程