excel多重if 出现“#N/A”,高人来解答~在线等

来源:百度知道 编辑:UC知道 时间:2024/06/18 12:49:46
用excel做转换,一列里有“500以下”,“500-999”“1000-1999”,“2000-2999”,“3000-3999”,“4000-4999”,“5000以上”,
想把它们转换成1-7对应的数字

用IF STATEMENT=IF(I4="500以下","500-999",1,IF(I4="1000-1999",2,IF(I4="2000-2999",3,IF(I4="3000-3999",4,IF(I4="4000-4999",5,6)))))
出现 500以下,500-999,1000-1999出现错误,前2者都显示7,后者出现“#N/A”

换用LOOKUP做,=LOOKUP(I5,{"500以下","500-999","1000-1999","2000-2999","3000-3999","4000-4999","5000以上"},{1,2,3,4,5,6,7}),
出现一模一样的问题。。。。。
这是为什么呢?等高人来解决。。。急。。。在线等

=IF(I4="500以下",1,IF(I4="500-999",2,IF(I4="1000-1999",3,IF(I4="2000-2999",4,IF(I4="3000-3999",5,IF(I4="4000-4999",6,7))))))

这样就行了

如要填数值的,就用=IF(I14<500,1,IF(AND(I14>=500,I14<=999),2,IF(AND(I14>=1000,I14<=1999),3,IF(AND(I14>=2000,I14<=2999),4,IF(AND(I14>=3000,I14<=3999),5,IF(AND(I14>=4000,I14<=4999),6,7))))))

其实要严密就要这样:=IF(I14<500,1,IF(AND(I14>=500,I14<1000),2,IF(AND(I14>=1000,I14<2000),3,IF(AND(I14>=2000,I14<3000),4,IF(AND(I14>=3000,I14<4000),5,IF(AND(I14>=4000,I14<5000),6,7))))))

if公式按照 winnerzjt - 高级经理 七级的方法书写就可以了。

lookup出错的原因在于你的lookup_vector没有按升序排列。
那些文本按升序排序后的正确顺序是
1000-1999
2000-2999
3000-3999
4000-4999
5000以上
500-999
500以下

所以你的lookup公式要修改为
=lookup(i5,{"1000-1999","2000-2999","3000-3999","4000-4999","5000