excel if函数7层嵌套替换

发布网友

我来回答

4个回答

热心网友

突破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个字符)。

热心网友

办法是一定有的,但楼主是否可以将你的目的说一说,使大家知道你想做什么,这样会有助于回答者理清思路的。

热心网友

二楼的方法试过,较有局限性,根本的解决方法是用2007版本,运行也快许多

热心网友

=INDEX(A103:A124,MATCH(LARGE(B103:B124,1),B103:B124,0))

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com