请教EXCEL中IF函数超过七层时的解决办法

在E2中输入上面公式,超过了7层IF,出现错误,应该怎么解决?请高手指点。谢谢
就是说,同时满足条件B2及C2,则E2=D2,或者同时满足B3及C3,则E2=D3……等等,以此类推。
D列中公式1,2,3......12在E列中体现为具体公式,在此贴出来是为了表示满足B2及C2,则计算公式为1。在实际操的作表格中不出现D列。

非常感谢各位的热心回答,但可能我前面说的有些不清除,我所请教的这个函数只是表格中众多数据中的一个,就是图中绿色的位置“沟槽底标”。谢谢大家,表格已经改好了。

象这样的表,我建议用Vlookup来实现,首先应建一个标准的表,在实际用到时就从该表中取数字:

 

如果确实要用IF函数,在第六层前的最后结果如果是文本可取空(“”)如果是数值则可取“0”然后用“&”或“+”将前后两个IF函数连起来,如:=if(A1=1,2,0)+if(A1>1,3,0)+if(A1<1,4,0)与if(a1=1,2,if(a1>1,3,4))的结果是一样的,不同的是前者可以巧妙的避开七层的限制而后者则超过七层就不可以用了。如果是结果需要是文本,则可以将公式中的“0”改为“”,“+”换成“&”将它连起来。

希望帮到你。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-29

改一下方式,这样应该能行

=INDEX($H$3:$J$6,MATCH(B2,$G$3:$G$6,0),MATCH(C2,$H$2:$J$2,0))

追问

这个数据只是表格中众多数据中的一个,一改就全乱了。

第2个回答  2013-03-29
=IF(B2="DN300",IF(C2="180°砂石基础",公式1,IF(C2="120°砼基础",公式2,公式3)),IF(B2="DN500",IF(C2="180°砂石基础",公式4,IF(C2="120°砼基础",公式5,公式6)),IF(B2="DN600",IF(C2="180°砂石基础",公式7,IF(C2="120°砼基础",公式8,公式9)),IF(C2="180°砂石基础",公式10,IF(C2="120°砼基础",公式11,公式12)))))
这样嵌套就不超过7层了。最后一个IF嵌套的也只有5层。
第3个回答  2013-03-29
e2公式:
=choose(3*lookup(1,0/(b2={"DN300","DN500","DN600","DN800"}),{0,1,2,3})+lookup(1,0/(c2={"180° 砂石基础","120° 砼基础","180° 砼基础"},{1,2,3}),公式1,公式2,公式3,公式4...公式12)
或者
=choose(3*(match(b2,{"DN300","DN500","DN600","DN800"},)-1)+match(c2,{"180° 砂石基础","120° 砼基础","180° 砼基础"},),公式1,公式2,公式3,公式4...公式12)追问

第一个公式出错了,我也不知道错在那里
第二个可以用,很强大,就是不知道有没有条件限制,比如说增加DN400,DN1000,DN1200,DN1500,基础还是3种,公式随DN变化而变化。

本回答被提问者采纳
第4个回答  2013-03-29
把具体的公式1-12都列出来,大家才好更简洁的给你设计公式,所有上面的回答都把公式1-12都列了个遍,但只要公式有共性,在写公式时才会更简洁。一般IF超过5层就得想其他的函数来替代。
相似回答