EXCEL 实用技巧:[20]突破IF函数的限制
EXCEL 实用技巧简介:本文介绍的内容完全基于工作中实战应用总结而来的。希望这些技巧能够给大家帮助。不足之处,还请各位不吝赐教^_^:)
通过EXCEL的IF函数的嵌套运用可以轻松解决好多的实际问题,从使用概率上来讲所有EXCEL 函数中使用频率最高的应当属于IF函数了。可是随着数据量的增加以及应用的复杂程度提升,会在好多场合发现IF 函数的嵌套限制了功能的发挥。
我这里所讲的IF 函数的限制是指两层意义:
1、2003版的EXCEL 中IF 函数的嵌套不能超过7层,07及之后的版本改进了,嵌套变为64层;超出范围的均被限制;
2、超长的IF 函数嵌套公式会存在较高的出错概率,查找起来会比较麻烦。这也使得使用频率最高的函数存在着诸多不便。
下图是2010版EXCEL的截图:
突破IF函数限制方法一、
- 01
现在介绍个简单的解决IF 函数嵌套的限制方法,在表格中对应的单元格输入 公式: =IF(G2=1,1,)&IF(G2=2,2,)&IF(G2=3,3,)&IF(G2=4,4,)&IF(G2=5,5,)&IF(G2=6,6,)&IF(G2=7,7,)&IF(G2=8,8,)&IF(G2=9,9,)&IF(G2=10,10,)&IF(G2=11,11,)&IF(G2=12,12,)&IF(G2=13,13,)&IF(G2=14,14,)&IF(G2=15,15,)&IF(G2=16,16,)
- 02
这样无论你有多少个条件,均可以用&连接符组成一个超级公式。用& 连接符基本上没有使用次数上的限制,这也就实现了突破IF()函数自身的嵌套限制。
突破VLOOKUP函数限制方法二、
- 01
举例:完成区号与对应地名的显示,用IF()函数来写公式为: =IF(D3="027","武汉市",IF(D3="0710","襄城市",IF(D3="0711","鄂州市",IF(D3="0712","孝感市",IF(D3="0713","黄州市",IF(D3="0714","黄石市",IF(D3="0715","咸宁市",IF(D3="0716","荆沙市",IF(D3="0717","宜昌市",IF(D3="0718","恩施市",IF(D3="0719","十堰市",IF(D3="0722","随枣市",IF(D3="0724","荆门市",IF(D3="0728","江汉市")))))))))))))) *
- 02
而用VLOOKUP()函数来解决这个复杂的问题,思路如下: 我们将要用来进行比较的值放入一个数组当中来,然后通过VLOOKUP来查找对应值,并且返回我们所需要的数据。 数组举例如下: {"027","武汉市";"0710","襄城市";"0711","鄂州市";"0712","孝感市";"0713","黄州市";"0714","黄石市";"0715","咸宁市";"0716","荆沙市";"0717","宜昌市";"0718","恩施市";"0719","十堰市";"0722","随枣市";"0724","荆门市";"0728","江汉市"}
- 03
上述的数组是个二维数组,有二列,左列对应的是区号,右列对应的是地名。 那么 我们用VLOOKUP()函数来通过区号查询地名,公式如下: =VLOOKUP(D3, {"027","武汉市";"0710","襄城市";"0711","鄂州市";"0712","孝感市";"0713","黄州市";"0714","黄石市";"0715","咸宁市";"0716","荆沙市";"0717","宜昌市";"0718","恩施市";"0719","十堰市";"0722","随枣市";"0724","荆门市";"0728","江汉市"},2,TRUE)
- 04
这要在D3 单元格中输入对应的区号时,即可在E3 单元格显示对应的城市地名; 当然要在数组集合中的内容中添加更多是完全没有问题的,也是没有限制的。。。