excel2003,IF命令嵌套层数超出了允许值该怎么办

比如:A1格只能选择“一到九"当A1格选择"一"时A2格自动生成1,当A1格选择"二"时A2格自动生成2,一直到当A1格选择"九"时A2格自动生成9,我写的函数A2格=IF(A1="一",1,IF(A1="二",2,IF(A1="三",3,IF(A1="四",4,IF(A1="五",5,IF(A1="六",6,IF(A1="七",7,IF(A1="八",8,IF(A1="九",9,0)))))))))系统提示嵌套层数超过允许值,还有其他函数能代替这个不,解决就给分
我只是举个例子一对应1,有可能一对应的4,二对应的8,都是对应的无规律的数字,要怎么办

我建议的方法。

建一个对应关系表,然后用VLOOKUP在数据表查找对应关系。

如果对应关系很多,且一直需要用这个转换关系,就建议保存好,每次更新对应关系后都保存好备用。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-30
2007是不受7层限制的,2003你可以这样解决,把条件的对应的数据输入到某个区域,比如把它输入到MN列,在M列输入一,二……,N列1、2……。然后你在A2输入=IF(A1="","",VLOOKUP(A1,M:N,2,0))
第2个回答  2013-06-30
用VLOOKUP函数就行了,公式中一对应1,二对就2,三对3,可以自行修改对应的关系,也可以按照大括号中的格式自己增加对应的项目。
对应一到九公式:
=VLOOKUP(A1,{"一",1;"二",2;"三",3;"四",4;"五",5;"六",6;"七",7;"八",8;"九",9},2,)

这个是对应一到二十的公式:
=VLOOKUP(A1,{"一",1;"二",2;"三",3;"四",4;"五",5;"六",6;"七",7;"八",8;"九",9;"十",10;"十一",11;"十二",12;"十三",13;"十四",14;"十五",15;"十六",16;"十七",17;"十八",18;"十九",19;"二十",20},2,)

如果对应关系较多,建议手工先在一个单元格区域中输入对就关系,然后用公式引用这个单元格区域,这样公式比较简洁:
如,先在G和H列输入好以上的对应关系,然后公式改为这样就行了:

=VLOOKUP(A1,G:H,2,)追问

公式是对的啊,怎么4D对应的是0

追答

亲,图中的公式最后那个2那儿还有一个逗号 , 和 0 的,0可以省略(省略时默认就是0),但逗号不能省,那代表精确查找,如果不输入逗号代表模糊接近值查找,所以你的公式出错了。

公式改为这样:就是加多后面的一个逗号就好了。

=VLOOKUP(B23,{"4D",2;"4Z",1;"2D",0;"2Z",0;"4J",2},2,)

本回答被提问者采纳
第3个回答  2013-06-30
A2公式:
2003版:
=IF(ISERROR(FIND(A1,"一二三四五六七八九")),0,FIND(A1,"一二三四五六七八九"))
2007版:
=IFERROR(FIND(A1,"一二三四五六七八九"),)
或数组公式:
2003版:
=IF(OR(A1=TEXT(ROW(1:9),"[dbnum1]")),MATCH(A1,TEXT(ROW(1:9),"[dbnum1]"),),0)
2007版:
=IFERROR(MATCH(A1,TEXT(ROW(1:9),"[dbnum1]"),),)
按CTRL+SHIFT+回车键结束。
相似回答