为了优化多层级判断公式的写法,首先根据考核规则制作一个辅助区域,如下图中所示的工作表 F2:G6 单元格区域。在 D2 单元格输入以下公式,将公式向下填充,效果如下图所示。VLOOKUP 函数是 Excel 中常用的查找与引用函数,用于根据用户指定的条件完成各种数据查询。它不但可以按条件精准查询,而且可以实现按区间条件归类的模糊查询,这里用到的就是按数值区间分层级归类的模糊查询。VLOOKUP 函数的这种模糊查询公式的语法结构如下:
VLOOKUP (查找值,查找区间,返回值在查找区域所处的列数)
注意第二参数(查找区间)要同时满足以下 3 项要求:
① 查找区间的最左列中数据要从小到大升序排列,如此案例中的 F 列数据;
② 查找区间的最左列的最小值要小于或等于查找值,如此案例中 F 列最小值要小于 C 列的考核得分;
③ 查找区间中需要包含想要返回的数据,如此案例中的要返回的结果是各种等级,在查找区间中的 G 列。
如果不满足这 3 项要求,结果就可能会出错。
明白了这种函数的语法结构和注意事项,我们再来解析一下公式的运算原理。
公式"VLOOKUP(C2,$F$2:$G$6,2)的第二参数使用了"$F$2:$G$6",这是公式中的绝对引用形式,目的是公式向下填充过程中引用的区域不会改变。此公式的运算原理是在 F2:G6 单元格区域中最左列查找 C2 单元格的数值(即 3.6),如果找到,则返回它右侧对应的查找区间中第 2 列的值,即 G 列中的等级结果;如果没找到此数值,继续查找比它小的最大值,即 3.5,然后返回 3.5 右侧对应的查找区间中第 2 列的值,即 “一般”。
这样就利用 VLOOKUP 函数的模糊查找功能,大幅简化了 IF 函数多层级条件判断的公式写法。
在使用这种方法时,VLOOKUP 函数中第二参数引用的是辅助区域 F2:G6 单元格区域,当该区域被删除时,公式结果会出错。为了让公式能够不依靠辅助区域而独立运算,可以将公式中的第二参数转换为常量数组写法,下面介绍转换方法。
将光标定位到编辑栏,选中公式中的 “$F2:G$6”,效果如下图所示。
选中公式中的 “$F2:G$6” 后,按<F9>键(笔记本电脑需同时按<Fn>键),查看该区域转换生成的数组,效果如下图所示。
单击编辑栏左侧的 “√” 按钮或者按<Enter>键输入公式,将 D2 单元格的公式向下填充,删除作为辅助区域的 F2:G6 单元格区域,效果如下图所示。
VLOOKUP 函数不但可以进行模糊查询,大幅简化 IF 函数多条件判断,而且可以按指定的条件进行精准查询,咱们下面一节做介绍。
内容来自李锐的书《跟李锐学Excel数据分析》