Excel数据分析自学经典
上QQ阅读APP看书,第一时间看更新

4.3 模糊查找

简单查找和多条件查找等查找方式,属于Excel中的精确查找,该查找方式下所返回的结果都是满足条件的单个值。但是,当用户在查找满足条件的多个值时,则需要使用Excel中的模糊查找功能了。

4.3.1 查找条件中的最后一个值

当用户在查找满足条件的多个值,并希望返回满足条件的最后一个值时,则需要使用LOOKUP函数,进行模糊查找。

1.案例分析

例如,在“出厂货品统计表”数据表中,已知货品的出厂时间是按照升序进行排列的。当用户需要提取当前各货品出厂的最后一批数量,仅使用VLOOKUP函数进行查找,将会返回各货品出厂的第一批数量,无法查找并返回最后一批数量。此时,可通过LOOKUP函数进行模糊查找的方法,来解决这一问题。

2.案例实现

首先,在工作表中输入基础数据,并设置数据表的对齐格式。

选择单元格F3,在编辑栏中输入计算公式,按Enter键,返回货号为A的货品最后一批出厂数量。随后,向下填充公式即可。

3.公式解析

在该案例中的单元格F3中的公式为:

    =LOOKUP(1,0/($B$3:$B$11=E3),C$3:
    C$11)

在该公式中的LOOKUP本身便为一个模糊查找函数,但在使用该函数进行运算之前,还需要将被查找区域的第1列转换为1或0之类的数值,即公式中的“1,0/($B$3:$B$11=E3)”部分。因此,该公式可以理解为下列公式:

    =LOOKUP(1,0/(条件区域=条件),返回值
    区域)

公式中的“($B$3:$B$11=E3)”部分,将返回判断结果TRUE或FALSE,而“0/($B$3:$B$11=E3)”则会返回0值或错误值#DIV/0!,相当于将返回结果构建一个作为第二参数的辅助列,以供公式进行运算。

到此为止,用户可以发现LOOKUP函数使用向量形式拥有三个参数,在第2个参数的辅助列中将查找第1个参数“1”,并根据查找结果返回第3个参数区域中相同位置的值。在第2个参数中,只有0或错误值,错误值是不参与运算的,而其他值则都是0值,公式在此是无法查找到参数“1”的。由于Excel默认辅助列中的值是以升序进行排列的,该公式一开始只能查找到0值,系统会继续往下查找,以便可以查找到最大的值,直到定位到最后一个0值为止。如此一来,便会返回指定条件对应的最后一个数值。

4.3.2 区间查找

使用Excel中的模糊查找功能,除了可以查找满足条件中的最后一个值之外,还可以使用VLOOKUP和LOOKUP函数进行区间查找。

1.案例分析

例如,在统计学生考试成绩时,在已知每位学生的姓名和考试成绩的情况下,可以使用VLOOKUP函数和LOOKUP函数,运用辅助列表来查找并返回成绩所对应的成绩等级。而辅助列表中的“分数”取值的上限,便是“分段”取值。

2.案例实现

首先,在工作表中输入基础数据,并设置数据表的对齐格式。

方法一:选择单元格C3,在编辑栏中输入计算公式,按Enter键,返回单元格B3对应的等级。随后,向下填充公式。

方法二:选择单元格D3,在编辑栏中输入计算公式,按Enter键,返回单元格B3对应的等级。随后,向下填充公式。

3.公式解析

方法一中的公式为:

    =VLOOKUP(B3,$F$3:$H$6,3,TRUE)

在该公式中,使用VLOOKUP函数,通过辅助列表来查找满足条件的值。其中,B3表示需要在数据表首列进行搜索的值;$F$3:$H$6则表示需要在其中搜索数据的信息表,即辅助列表;3表示满足搜索条件的单元格在数据信息表(辅助列表)中的列数;而TRUE则表示进行精确查找。

方法二中的公式为:

    =LOOKUP(B3,$F$3:$H$6)

在该公式中,使用了LOOKUP函数的数组形式。其中,B3表示需要在指定数据表或单元格区域中所查找的值,而$F$3:$H$6表示需要在其中搜索数据的信息表,即辅助列表。