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

在Excel中,我们通常使用IF函数来处理一些条件判断的问题。
比如某一工作报表中,专业代码为“01”至“12”,它们分别对应“种植”等12个专业名称。现在我们需要在一大堆数据中根据专业代码写出相应的专业名称。由于表格的限制,我们不能对它们进行排序等操作。如果用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″,”化工”,))))))))))))”,
呵呵,相信您一定会看得眼花缭乱。这还在其次,关键的问题是这个公式中要用到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)”,按下回车键,就可以得到结果了。
非常简单轻松吧?该公式的简单解释就是在F2:F13这个单元格区域中查找A2单元格的数据,查到后则返回G2:G13单元格区域同一行的单元格数据。比如A2单元格为“01”,那么在F2:F13单元格区域找到“01”后,它位于该区域的第一行,那么就返回G2:G13单元格区域的第一行数据“种植”。



发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(Spamcheck Enabled)