Excel LOOKUP函数解决IF函数嵌套层数的问题

4/24/2007来源:Excel教程人气:50147

  在Excel中,我们通常使用IF函数来处理一些条件判断的问题。比如某一工作报表中,专业代码为“01”至“12”,它们分别对应“种植”等12个专业名称,如图1所示。

  现在我们需要在一大堆数据中根据专业代码写出相应的专业名称。由于表格的限制,我们不能对它们进行排序等操作。如果用IF函数来处理,假定专业代码在A2单元格,那么相应的公式为“=IF(A2="01","种植",IF(A2="02","养殖",IF(A2="03","机电",IF(A2="04","微机",IF(A2="05","建筑",IF(A2="06","护理",IF(A2="07","财经",IF(A2="08","商贸",IF(A2="09","幼师",IF(A2="10","文秘",IF(A2="11","法律",IF(A2="12","化工",))))))))))))”,如图2所示。

  呵呵,相信您一定会看得眼花缭乱。这还在其次,关键的问题是这个公式中要用到11个IF函数来嵌套,而在Excel 2003及以前的版本中,最多允许7层IF函数嵌套。即使Excel 2007中允许使用64层IF函数嵌套。

  那么遇到这种嵌套过多的情况应该怎么办呢?

  其实,在Excel中,还有另一函数可以解决这个问题,那就是LOOKUP函数。

  我们先在两个空白单元格区域分别放置专业代码和对应的专业名称。专业代码需要升序排列。做到如图1表格的样子。比如我们把专业代码放到F2:F13单元格区域,对应的专业名称放在G2:G13单元格区域。比如我们要查询的专业代码在A列,现在我们只需要在C2单元格输入公式“=LOOKUP(A2,$F$2:$F$13,$G$2:$G$13)”,按下回车键,就可以得到结果了,如图3所示。

  非常简单轻松吧?该公式的简单解释就是在F2:F13这个单元格区域中查找A2单元格的数据,查到后则返回G2:G13单元格区域同一行的单元格数据。比如A2单元格为“01”,那么在F2:F13单元格区域找到“01”后,它位于该区域的第一行,那么就返回G2:G13单元格区域的第一行数据“种植”。