分享

IF:突破IF函数嵌套7层限制

 邱茂林个人收藏 2013-10-03

突破IF函数嵌套7层限制的两个方法

一、使用CHOOSE函数替代IF函数:
        =CHOOSE(FIND("1",(条件1)*1&(条件2)*1&……&(条件N)*1),结果1,结果2,……结果N)
         说明:所有条件的判断结果组成一个包含0和1的字符串(条件真得到1,条件假得到0),用FIND函数找到1的位置(条件真的位置),用CHOOSE函数得到相应结果。最多可以满足29个条件,如果超过29个条件还可以嵌套。

二、还原HLOOKUP函数的原型求解:
        =HLOOKUP(A1,{条件1,条件2……条件N;结果1,结果2……结果N},2,1)
        说明:这一方法的条件数量不爱限制。

 

例一:A1为一个数值,其范围为1-7,B1设置公式,按A1数值变化分别等于A-G。
先来看看纯粹使用if的解法:=IF(A1=1,"a",IF(A1=2,"b",IF(A1=3,"c",IF(A1=4,"d",IF(A1=5,"e",IF(A1=6,"f",IF(A1=7,"g","")))))))
是不是很麻烦?何止是麻烦,假如再增加两个条件,A1的数值范围为1-26,B1相应取值为A-Z,你又当如何?
if的嵌套最大可以为7层,上面的公式已经用到了极限。虽然说可以用一些旁门左道来“突破”这个限制,但也只是一种堆沙式的游戏,如上例,可以采用以下方式:=IF(A1=1,"a",IF(A1=2,"b",IF(A1=3,"c",IF(A1=4,"d",IF(A1=5,"e",IF(A1=6,"f",IF(A1=7,"g","")))))))&IF(A1=8,"h",IF(A1=9,"I",""))……

其实EXCEL里准备了许多办法来替代上面的愚蠢的做法。
比如CHOOSE函数。=CHOOSE(A1,"a","b","c","d","e","f","g","h","i"),这是不是方便多了?CHOOSE的参数清单可以有29项之多,一般足够你使用了。

如果还不够,那么请看下面:
=LOOKUP(A1,{1,2,3,4,5,6,7,8,9;"a","b","c","d","e","f","g","h","i"}),你可以尽情地输入参数,只要公式内容长度允许(规定公式内容长度为1024个字符)。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多