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

4.2 多条件查找

在Excel中,除了进行单个条件的查找之外,还可以使用嵌套函数实现多条件查找,包括单向多条件查找、多向查找和多列查找等内容。

4.2.1 单向多条件查找

单向多条件查找是指查找的条件分布在一个方向,即列方向或行方向。

1.案例分析

例如,在“进销存统计表”数据表中,其原始数据存储在单元格区域B2:G12中。此时,需要根据单元格I3和J3中的条件,查找并返回相对应的“期末结存”数值。下面,将运用VLOOKUP嵌套IF函数,以及INDEX嵌套MATCH函数两种方法来进行单向多条件查找。

2.案例实现

首先,制作基础数据表。然后,选择单元格K3,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回对应的期末结存值。

同时,选择单元格K4,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回对应的期末结存值。

3.公式解析

方法一中的公式为:

    =VLOOKUP(I3&J3,IF({1,0},$B$3:$B$
    12&$C$3:$C$12,$G$3:$G$12),2)

该公式是由VLOOKUP函数嵌套IF函数来实现的,其IF函数作为VLOOKUP函数的第2个参数进行运算。除此之外,在公式中还通过使用连接符&,将两个查询条件进行连接,以实现多条件查询功能。另外,在IF函数中,也同样使用连接符&连接两个数据区域。

方法二中的公式为:

    =INDEX(G3:G12,MATCH(I4&J4,$B$3:$
    B$12&$C$3:$C$12,))

该公式由INDEX函数嵌套MATCH函数来实现的,其MATCH函数作为VLOOKUP函数的第2个参数进行运算。而MATCH函数中,同样使用了连接符&连接条件和数据区域。需要注意的是,在该公式中必须使用Shift+Ctrl+Enter键结束公式的输入,以促使Excel实现多重运算。

4.2.2 多向查找

双向查找是指查找条件分别位于行或列中,而非单纯的唯一列或行中。

1.案例分析

例如,用户在编制科目成绩统计表时,需要统计不同科目不同部门下的成绩。此时,用户可以使用VLOOKUP嵌套IF函数、INDEX嵌套MATCH函数,以及LOOKUP函数,来实现多向查找。

2.函数介绍

Excel中的LOOKUP函数可以从单行、单列区域或数组中返回值,该函数主要包括向量与数组两种形式。

LOOKUP函数的向量形式的功能是在单行区域或单列区域中查找值,并返回第2个单行区域或单列区域中相应位置的值。LOOKUP函数向量形式的表达式为:

其中,LOOKUP函数参数的注意事项如下表所示。

LOOKUP函数数组形式的功能是在数组的第1行或第1列中查找指定的数值,并返回数组最后1行或1列内相同位置的数值。该函数的表达式为:

3.案例实现

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

方法一:选择单元格F4,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回查找结果。

然后,选择单元格G4,向下填充公式;同时选择单元格区域G4:G7,向右填充公式。

方法二:选择单元格I4,在编辑栏中输入计算公式,按下Shift+Ctrl+Enter键,返回查找结果。

然后,选择单元格J4,向下填充公式;同时选择单元格区域J4:J7,向右填充公式。

方法三:选择单元格L4,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回查找结果。

然后,选择单元格M4,向下填充公式;同时选择单元格区域M4:M7,向右填充公式。

4.公式解析

方法一中的公式为:

    =VLOOKUP($E4&F$3,IF({1,0},$A$4:
    $A$11&$B$4:$B$11,$C$4:$C$11),2,
    FALSE)

在该公式中,也是使用连接符&,通过连接两个条件,将多条件变成单条件进行运算。但是,在该公式中需要注意必须使用数组输入方式,才可以显示正确的运算结果。除此之外,还需要注意对单元格的引用类型,以确保可以正确填充各单元格中的公式。

方法二中的公式为:

    =INDEX($C$4:$C$11,MATCH($H4&I$3,
    $A$4:$A$11&$B$4:$B$11,0))

在该公式中,使用了INDEX嵌套MATCH函数进行运算,而MATCH函数则作为INDEX函数的第2个参数参与运算。其实,整个公式没有太大的使用悬念,唯一需要注意的是必须使用数组运算,而且还需要注意单元格的引用类型。

方法三中的公式为:

    =LOOKUP(1,0/(($A$4:$A$11=$K4)*
    ($B$4:$B$11=L$3)),$C$4:$C$11)

该公式中的LOOKUP函数是使用向量形式参与运算,整个公式没有太大的使用悬念,唯一需要注意的是必须使用数组运算。

4.2.3 连续多列查找

连续多列查找是根据指定条件同时查询多个列中的内容,其查询条件分别位于不同的列中。

1.案例分析

例如,在“员工基本信息”数据表中,包含工牌号、姓名、性别、所属部门、职务等信息。如果用户需要根据员工姓名,来查找相对应的性别、所属部门、工作年限等信息,则需要在不同条件下的单元格中,依次输入查找公式,以获取准确的查找信息。但这样一来,便突显出Excel函数的烦琐性了。此时,用户可以使用VLOOKUP嵌套COLUMN函数、VLOOKUP嵌套IF函数,以及INDEX嵌套MATCH函数的方法,批量显示多条件查找信息。

2.函数介绍

COLUMN函数的功能是返回指定单元格引用的列号,其函数表达式为:

3.案例实现

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

方法一:选择单元格B9,在编辑栏中输入计算公式,按Enter键,返回单元格B9所对应的性别。随后,向右填充公式即可。

方法二:选择单元格B10,在编辑栏中输入计算公式,按Enter键,返回单元格B10所对应的性别。随后,向右填充公式即可。

方法三:选择单元格B11,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回单元格B11所对应的性别。随后,向右填充公式即可。

4.公式解析

方法一中的公式为:

    =VLOOKUP($A$9,$B$2:$F$6,COLUMN())

在该公式中,COLUMN函数作为VLOOKUP函数的第3个参数参与运算,而COLUMN函数在参数省略的情况下,将会返回该函数所在单元格的列号。

提示

用户在使用COLUMN函数时,如果公式不放在B~D列中,其函数需要添加参数,参数为计算条件所位于的单元格,例如单元格B1等。

方法二中的公式为:

    =INDEX($C$2:$F$6,MATCH($A$10,$B$2
    :$B$6,0),MATCH(B8,$C$1:$F$1,0))

在该公式中,使用了INDEX嵌套MATCH函数进行运算,而MATCH函数则作为INDEX函数的第2和第3个参数参与运算。

方法三中的公式为:

    =VLOOKUP($A11&B8,IF({1,0},$B2:$B6&
    C1,C2:C6),2,FALSE)

在该公式中,IF作为VLOOKUP函数的第2个参数参与计算。另外,该公式也是使用连接符&,通过连接两个条件,将多条件变成单条件进行运算。但是,在该公式中需要注意必须使用数组输入方式,才可以显示正确的运算结果。除此之外,还需要注意对单元格的引用类型,以确保可以正确填充各单元格中的公式。