王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index


3楼猫 发布时间:2024-12-21 05:46:14 作者:SystemBot-X Language

视频链接

一、Xlookup函数

1.Xlookup函数语法

语法:

XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], , ) =Xlookup(值,查找列,返回值列,找不到显示,匹配类型,搜索模式)

参数说明:

  1. lookup_value:要查找的值,可以是文本、数字、日期等。

  2. lookup_array:查找的范围。XLOOKUP 会在此范围中查找 lookup_value。

  3. return_array:当找到匹配值时,要返回的值的范围。它的大小应与 lookup_array 相同。

  4. [if_not_found](可选):如果没有找到匹配项时要返回的值。如果省略此参数,当未找到时将返回 #N/A 错误。

  5. (可选):指定查找类型的匹配方式。

  • 0:精确匹配(默认)。

  • -1:查找小于或等于 lookup_value 的最大值。

  • 1:查找大于或等于 lookup_value 的最小值。

  • 2:通配符匹配(支持 * 和 ?)。

  1. (可选):指定查找的方向。

  • 1:从第一个元素到最后一个元素(默认)。

  • -1:从最后一个元素到第一个元素(反向查找)。

2.Xlookup函数应用

(1)单条件查找

语法:

= XLOOKUP(查找值,查找列,返回值列)

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第0张

!注意事项:

  • 用法类似LOOKUP函数,但注意使用LOOKUP函数查找区域需要升序排列

  • 也可以使用VLOOKUP函数,需要注意查找值所在的列必须是在查找区域的最左列

(2)反向查找

语法:

= XLOOKUP(查找值,查找列,返回值列)

示例:根据演员张国荣,查找主演电影

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第1张

!注意事项:

  • XLOOKUP可以反向查找,VLOOKUP常规下不可以反向查找会出错

(3)多条件查找

语法:

= XLOOKUP(条件1&条件2,条件1区域&条件2区域,返回值区域)

示例:查找导演克里斯托弗·诺兰在2010年上映的电影

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第2张

!注意事项:

  • 多条件查找也可以使用LOOKUP函数

= LOOKUP(1,0/(条件1*条件2*条件3...条件n),返回列)

(4)查找不到显示另外值

语法:

= XLOOKUP(查找值,查找列,返回值区域,找不到显示)

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

示例:查找张艺谋导演的主导的电影

!注意事项:

  • 查不到显示另外值,如果使用VLOOKUP函数需要结合IFERROR函数

二、Match与Index函数

1.函数语法

(1)Match

语法:

MATCH(lookup_value, lookup_array, )

参数说明:

  1. lookup_value:要查找的值,可以是数字、文本、日期等。这个值会在 lookup_array 中进行查找。

  2. lookup_array:要搜索的范围或数组。MATCH 会在此范围中查找 lookup_value。

  3. (可选):指定查找类型的匹配方式。

  • 1 或省略(默认):查找小于或等于 lookup_value 的最大值。lookup_array 必须按升序排列(从小到大)。

  • 0:精确匹配。lookup_array 可以是任何顺序。

  • -1:查找大于或等于 lookup_value 的最小值。lookup_array 必须按降序排列(从大到小)。

返回值:

MATCH 返回值在 lookup_array 中的相对位置。如果没有找到匹配值,MATCH 会返回 #N/A 错误。

示例:

假设我们有以下数据:

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

示例1:查找李四的位置

我们想要查找 "李四" 在数组中的位置:

=MATCH("李四", A2:A5, 0)

解释:

  • lookup_value 是 "李四"。

  • lookup_array 是 A2:A5(姓名列)。

  • match_type 是 0,表示精确匹配。

结果: 该公式返回 2,因为 "李四" 位于第二行。

示例2:查找大于或等于某个值的最小值的位置

假设我们有以下一列数字,且按升序排列:

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

我们想查找小于或等于 25 的最大值的位置:

=MATCH(25, B2:B5, 1)

解释:

  • lookup_value 是 25。

  • lookup_array 是 B2:B5(数字列)。

  • match_type 是 1,表示查找小于或等于 lookup_value 的最大值。

结果: 该公式返回 2,因为 20 是小于 25 的最大值,它在第二个位置。

示例3:查找文本中的匹配

如果我们想查找某个文本项(如 "张三")的索引:

=MATCH("张三", A2:A5, 0)

结果: 该公式返回 1,因为 "张三" 是该数组中的第一个元素。

(2)Index

语法:

INDEX(array, row_num, )

参数说明:

  1. array:要从中获取数据的数组或范围。这个参数包含了所有可能的数据值。

  2. row_num:指定返回值的行号。如果为 0,则表示返回整个列的数组。

  3. (可选):指定返回值的列号。如果不提供 column_num,则假定数组只有一列。

返回值:

INDEX 返回 array 中指定位置的值。根据提供的 row_num 和 column_num 参数,INDEX 会在相应位置返回值。

示例:

假设我们有以下数据表:

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

示例1:从单列中返回值

假设我们想从 姓名 列(A列)返回第2行的值("李四"):

=INDEX(A2:A5, 2)

解释:

  • array 是 A2:A5,包含所有姓名。

  • row_num 是 2,表示我们需要返回第2行的值。

结果: 该公式返回 "李四"。

示例2:从多列中返回值

假设我们想从表格中返回第3行、第2列的值(即 "35" 对应年龄的值):

=INDEX(A2:C5, 3, 2)

解释:

  • array 是 A2:C5,包含所有数据。

  • row_num 是 3,表示我们要查找第3行。

  • column_num 是 2,表示我们要查找第2列的值,即 "年龄" 列。

结果: 该公式返回 35,因为 "王五" 的年龄是35。

示例3:返回整行或整列

如果我们想返回整个 "年龄" 列的数据,可以这样写:

=INDEX(B2:B5, 0)

解释:

  • array 是 B2:B5,包含所有年龄数据。

  • row_num 是 0,表示返回整个列的数据。

结果: 该公式返回整个 "年龄" 列的数据:25, 30, 35, 40。

示例4:与 MATCH 函数结合使用

INDEX 和 MATCH 常常结合使用,来查找一个值的位置,并根据该位置返回另一个相关值。假设我们想找出 "王五" 的性别:

=INDEX(C2:C5, MATCH("王五", A2:A5, 0))

解释:

  • MATCH("王五", A2:A5, 0) 查找 "王五" 在 A2:A5 中的位置,结果为 3。

  • INDEX(C2:C5, 3) 查找 C2:C5 中第3行的值,即 "男"。

结果: 该公式返回 "男",因为 "王五" 的性别是 "男"。

实例

  • 从单个区域中获取值

=INDEX(A1:C3, 2, 3)

这个公式将返回区域 A1:C3 中第二行第三列的值。

  • 当行号为 0 时,返回整列的值

=INDEX(A1:C3, 0, 2)

这个公式返回区域 A1:C3 中第二列的所有值。

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

两者一般嵌套使用

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

2.认识column函数

(1)COLUMN函数

语法:

COLUMN([reference])

参数说明:

  • reference(可选):这是一个单元格或区域的引用。如果省略此参数,COLUMN 函数将返回包含公式的单元格所在的列号。

返回值:

  • 如果指定了 reference,COLUMN 返回该引用所在列的列号。

  • 如果没有指定 reference,则返回包含公式的单元格所在的列号。

示例:

示例1:基本用法

假设我们想知道单元格 B1 所在的列号:

=COLUMN(B1)

解释:

  • B1 是我们要查询的单元格。

  • COLUMN 函数返回 B 列的列号,即 2。

结果: 该公式返回 2,因为列 B 是第二列。

示例2:在没有引用时使用

如果你在 C5 单元格中使用 COLUMN 函数,而没有指定任何单元格引用:

=COLUMN()

解释:

  • 因为公式位于 C5,COLUMN 函数返回 C 列的列号,即 3。

结果: 该公式返回 3,因为 C 列是第三列。

示例3:返回一个区域的列号

假设我们想知道区域 A1:C5 的第一个单元格(A1)所在的列号:

=COLUMN(A1:C5)

解释:

  • A1:C5 是一个区域。

  • COLUMN 函数返回区域第一个单元格 A1 所在列的列号,即 1。

结果: 该公式返回 1,因为 A 列是第一列。

示例4:返回多个列号

如果我们在一个公式中使用一个区域,例如 A1:B5,并希望返回这些列的列号,我们可以使用 COLUMN 函数:

=COLUMN(A1:B5)

解释:

  • COLUMN 函数返回区域内所有列的列号。

  • 由于区域 A1:B5 包含 A 列和 B 列,所以它会返回两个列号:1 和 2。

结果: 该公式返回 {1, 2},表示 A 列和 B 列。

示例5:与其他函数结合使用

你可以将 COLUMN 函数与其他函数结合使用。例如,如果你希望根据某个单元格的列号计算距离,可以结合 COLUMN 与 INDIRECT 函数:

=COLUMN(INDIRECT("C1"))

解释:

  • INDIRECT("C1") 返回 C1 单元格的引用。

  • COLUMN 函数返回 C1 所在的列号,即 3。

结果: 该公式返回 3,因为 C1 在 C 列。

实例:

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

  • 说明:①可获取单元格或单元格区域的列序号。reference引用为单元格时返回结果是单元格对应的列序号。比如输入“=COLUMN(C13)”输出结果为3。②reference 不能引用多个区域。当引用连续几列时,输出结果溢出。比如输入“=COLUMN(C:D)”输出结果是两个单元格3和4

(2)COLUMNS函数

语法:

COLUMNS(array)

参数说明:

  • array:这是你要计算列数的单元格区域。你可以指定一个单元格区域、一个行列组合的区域,或者一个数组。

返回值:

  • 返回指定区域中包含的列数。

示例:

示例1:基本用法

假设我们想知道区域 A1:C5 中包含多少列:

=COLUMNS(A1:C5)

解释:

  • 区域 A1:C5 包括 A 列、B 列和 C 列。

  • COLUMNS 函数将返回该区域的列数。

结果: 该公式返回 3,因为区域 A1:C5 包含 3 列(A、B、C 列)。

示例2:单行区域

如果你想计算一个单行区域中有多少列,假设区域是 A1:Z1,你可以使用:

=COLUMNS(A1:Z1)

解释:

  • 区域 A1:Z1 包括从 A 列到 Z 列的一整行。

  • COLUMNS 函数将返回该区域的列数。

结果: 该公式返回 26,因为区域 A1:Z1 包含 26 列(从 A 到 Z)。

示例3:计算多个行和列的区域

如果你有一个区域 A1:D10,并想知道该区域有多少列,可以使用:

=COLUMNS(A1:D10)

解释:

  • 区域 A1:D10 包括 A 列、B 列、C 列和 D 列。

  • COLUMNS 函数将返回该区域的列数。

结果: 该公式返回 4,因为区域 A1:D10 包含 4 列(A、B、C、D 列)。

示例4:结合其他函数使用

你可以将 COLUMNS 函数与其他函数结合使用。例如,如果你想计算某个区域动态变化时的列数,可以结合 OFFSET 函数:

=COLUMNS(OFFSET(A1, 0, 0, 5, 3))

解释:

  • OFFSET(A1, 0, 0, 5, 3) 返回一个从 A1 开始的区域,包含 5 行和 3 列。

  • COLUMNS 函数返回该区域中的列数。

结果: 该公式返回 3,因为 OFFSET 函数返回了 3 列的区域。

实例

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

  • 说明:①引用单元格或者某列单元格区域时,输出结果为1。如输入“=COLUMNS(A13)”或“=COLUMNS(D:D)”,输出结果均为1。② 引用多列单元格区域时返回结果为列个数。如输入“=COLUMNS(A1:C12)”,涉及到A、B、C三列,所以输出结果为3。

(3)COLUMN函数与COLUMNS函数的区别

  • COLUMN 函数用于返回单元格或区域的 列号(数字),它帮助你知道一个单元格处于第几列。

  • COLUMNS 函数用于返回一个 区域中包含的列数。它告诉你一个指定区域有多少列。

  • COLUMN 返回列的 数字编号,而 COLUMNS 返回列的 数量(即区域中的列数)。

(4)COLUMN函数与VLOOKUP函数结合使用

源数据

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

通过“客户ID”得出其它数据,在返回列的部分使用column公式

王佩丰Excel基础教程24讲:第12讲-Xlookup、Match与Index-第3张

:源数据表头和要查询数据表头一致,不一致可以先调换顺序,再查找


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com