excel if函数7层嵌套替换

=IF(MAX(B103:B124)=B103,a103,if(max(b103:b124)=b104,a104,if(MAX(B103:B124)=b105,a105,if(MAX(B103:B124)=b106,a106,if(MAX(B103:B124)=b107,a107,if(MAX(B103:B124)=b108,a108,if(MAX(B103:B124)=b109,a109,if(max(B103:B124)=b110,a110,if(MAX(B103:B124)=b111,a111,if(MAX(B103:B124)=b112,a112,if(MAX(B103:B124)=b113,a113,if(MAX(B103B124)=b114,a114,if(MAX(B103:B124)=b115,a115,if(MAX(B103:B124)=b116,a116,if(MAX(B103:B124)=b117,a117,if(MAX(B103:B124)=b118,a118,if(MAX(B103:B124)=b119,a119,if(MAX(B103:B124),b120,a120,if(MAX(B103:B124)=b121,a121,if(MAX(B103:B124)=b122,a122,if(MAX(B103:B124)=b123,a123,a124)))))))))))))))))))))

这个函数 由于if函数嵌套次数限制不成立 能否有其他函数或者方法替换
用了choose函数
=IF(MAX(B103:B124)=B103,a103,if(max(b103:b124)=b104,a104,if(MAX(B103:B124)=b105,a105,if(MAX(B103:B124)=b106,a106,if(MAX(B103:B124)=b107,a107,if(MAX(B103:B124)=b108,a108,if(MAX(B103:B124)=b109,a109,if(max(B103:B124)=b110,a110,if(MAX(B103:B124)=b111,a111,if(MAX(B103:B124)=b112,a112,if(MAX(B103:B124)=b113,a113,if(MAX(B103B124)=b114,a114,if(MAX(B103:B124)=b115,a115,if(MAX(B103:B124)=b116,a116,if(MAX(B103:B124)=b117,a117,if(MAX(B103:B124)=b118,a118,if(MAX(B103:B124)=b119,a119,if(MAX(B103:B124),b120,a120,if(MAX(B103:B124)=b121,a121,if(MAX(B103:B124)=b122,a122,if(MAX(B103:B124)=b123,a123,a124)))))))))))))))))))))
还可以,不知道还有没有其他方法

突破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个字符)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-17
办法是一定有的,但楼主是否可以将你的目的说一说,使大家知道你想做什么,这样会有助于回答者理清思路的。
第2个回答  2010-03-17
二楼的方法试过,较有局限性,根本的解决方法是用2007版本,运行也快许多
第3个回答  2010-03-17
=INDEX(A103:A124,MATCH(LARGE(B103:B124,1),B103:B124,0))本回答被提问者采纳
相似回答