跳至主要内容

Excel 查找函数:5 种函数概览

通过示例了解 Excel 中的各种查找函数及其应用。
· 11分钟 阅读

使用 AI 探索

当您第一次上手 Excel 时,通常会遇到一些用于引用和检索数据的关键函数。在大多数情况下,这将涉及使用 Excel 中的查找函数。

本文将介绍与在 Excel 中查找信息相关的多种函数,并通过示例说明如何使用它们。如果您希望全方位提升 Excel 技能,欢迎查看我们的Excel 基础技能路径。

什么是 Excel 查找函数?

Excel 中的查找函数允许用户在数据集中搜索特定数据,并从另一列或行返回相应信息。它们在数据分析中至关重要,可用于引用、交叉引用,以及从大型或复杂数据集中提取有意义的洞见。

为什么查找函数很重要? 

查找函数有助于高效检索数据。高效的数据检索对提升生产力至关重要,尤其是在处理大型电子表格或自动化报表流程时。查找函数能减少手动查找、确保一致性,并支持可扩展的数据解决方案。

例如,设想您有一个包含成千上万行和列的销售表,需要查找某个特定产品或地区的总销售额。

如果没有查找函数,您就需要手动逐行查找相关信息,这既耗时又容易出错。

在我们的Excel 数据准备课程中了解更多这些函数。

Excel 中的查找函数类型

Excel 提供了多种查找函数,各有侧重,适用于不同场景。了解这些函数之间的差异,可以显著提升您管理与分析数据的效率。

下面来看一些常见类型。

1. LOOKUP

lookup function

来源:Microsoft

最早的查找函数是最基础的,适用于已排序的数组。它在单行或单列中搜索某个值,并从另一行或列的相同位置返回一个值。它仅支持近似匹配。

2. VLOOKUP(垂直查找)

vlookup function

来源:Microsoft

VLOOKUP 是传统 Excel 工作簿中使用最广泛的函数之一。它在表格的第一列中搜索某个值,并从指定列中返回同一行的值。

它支持精确匹配和近似匹配,但也有局限,如无法向左查找,以及在大型数据集上的性能问题。

3. HLOOKUP(水平查找)

hlookup function

来源:HLOOKUP 教程

HLOOKUP 的工作方式与 VLOOKUP 类似,但它在表格的第一行中搜索一个值,并从指定的行返回一个值。当数据是横向而非纵向组织时,它非常有用。

当您的数据按行而不是按列组织时,应考虑使用 HLOOKUP 而非 VLOOKUP。

4. INDEX 与 MATCH

该INDEX 与 MATCH 组合利用了两个强大的函数:

  • INDEX 根据行号和列号返回某个单元格的值。
  • MATCH 返回某个值在行或列中的位置。两者结合使用时,比 VLOOKUP 更灵活,且在复杂场景中更受青睐,因为它们支持从左到右与从右到左的查找,并且不要求数据排序。

5. XLOOKUP

在 Excel 2019 和 Microsoft 365 中引入的XLOOKUP 是 VLOOKUP 和 HLOOKUP 的现代替代方案。它支持精确或近似匹配,既可横向也可纵向工作,并支持错误处理,是迄今为止最通用的查找函数。

LOOKUP 函数

我们先来了解 Excel 中的 LOOKUP 函数,包括语法与参数、向量形式,以及一个示例。

语法与参数

=LOOKUP(lookup_value, lookup_vector, [result_vector])

说明如下:

  • lookup_value:要搜索的值。
  • lookup_vector:要搜索的单行或单列。
  • result_vector(可选):包含要返回值的区域。

使用向量形式

向量形式最为常用,要求 lookup_vector 与 result_vector 的大小相同。

示例说明

=LOOKUP(90, A2:A10, B2:B10)

lookup example

该函数会在 A2:A10 中查找小于或等于 90 的最大值,然后从 B2:B10 返回相应的值。

在此示例中,只有第 5 行符合我们设定的参数。因此,函数输出将为 “Medium-High”。

lookup example result

LOOKUP 函数的局限

  • 需要已排序数据:lookup_vector 必须按升序排序。
  • 近似匹配行为:不支持精确匹配——返回小于或等于 lookup_value 的最接近值。

VLOOKUP 函数

接下来是 VLOOKUP 函数,它是旧版 Excel 中最常用的函数之一。

语法与参数

VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

  • lookup_value:在 table_array 第一列中要搜索的值。
  • table_array:要搜索的表格区域。
  • col_index_num:返回值所在的列序号。
  • range_lookup:可选;TRUE 为近似匹配,FALSE 为精确匹配。

如何使用 VLOOKUP:分步示例指南

现在,我们通过一个示例快速了解该函数如何工作。

我们将在一个简单数据集中使用如下函数。

=VLOOKUP("John", A2:C10, 3, FALSE)

该函数会查找属于 John 的记录并输出他的薪资金额。

vlookup example

在 A 列中搜索 "John",并返回同一行第三列(C 列)的值。

vlookup result

如预期,VLOOKUP 函数输出为 6000,对应第 6 行,也是我们为 John 查找的值。

精确匹配 vs 近似匹配

在 VLOOKUP 中,最常用的是精确匹配。这意味着仅当在指定范围的第一列中找到与查找值完全一致的记录时,函数才会返回结果。

例如,若我们使用精确匹配查找 John 的薪资,VLOOKUP 只有在第一列出现 “John”,且第二列为其薪资时才会返回结果。

另一方面,近似匹配在查找数值数据或可能存在微小差异的数据(例如由于四舍五入或格式导致的差异)时很有用。

小结:

  • 精确(FALSE):查找完全匹配。
  • 近似(TRUE):需要已排序数据,返回最接近的匹配。

常见错误与排查

首次使用 VLOOKUP 时,可能会出现一些常见错误。

处理 #N/A 错误

使用 VLOOKUP 最常见的错误之一是 #N/A,即 “Not Available(不可用)”。通常在指定范围内找不到被搜索的值时出现。

这也可能由缺失的 lookup_value 或在使用近似匹配时数据未排序所致。

要排查该错误,请再次确认您的搜索值拼写正确,并确实存在于要搜索范围的第一列中。同时,若使用近似匹配,请确保数据按升序排序。

另一个潜在问题是数据类型不匹配。例如,一列中的数字以文本形式存储,而另一列是实际数字,可能导致 VLOOKUP 无法正常工作。

列序号问题

另一种错误是 #REF!。如果 col_index_num 超过 table_array 的列数,就会出现 #REF! 错误。

HLOOKUP 函数

若要在表格的顶行中查找一个值,并从同一列的指定行返回一个值,HLOOKUP 通常是最佳选择。我们来看看它如何工作。

语法与参数

HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])

  • lookup_value:在第一行中要搜索的值。
  • table_array:要搜索的表格。
  • row_index_num:返回值所在的行序号。
  • range_lookup:TRUE(近似)或 FALSE(精确)。

如何使用 HLOOKUP:分步示例指南

=HLOOKUP("Q1", A1:D3, 2, FALSE)

hlookup example

上述 HLOOKUP 在第 1 行中搜索 "Q1",并返回同一列第 2 行的值。

让我们运行函数看看结果。

hlookup result

如上所示,函数应返回 1200。由于函数会根据第 1 行指定的值,在第 2 行返回对应值,1200 正是我们想要的输出。

INDEX 与 MATCH 函数

接下来,我们看看 Excel 中的 INDEX 与 MATCH 如何组合实现查找。

语法与示例用法

=INDEX(array, row_num, [column_num])

INDEX 函数返回给定区域中指定行与列位置的值。

=MATCH(lookup_value, lookup_array, [match_type])

MATCH 函数返回 lookup_value 在 lookup_array 中的相对位置。

将 INDEX 与 MATCH 搭配使用

当同时使用 INDEX 与 MATCH 时,可形成强大的表格或区域查找工具。该组合允许您精确指定要返回值的位置,而无需手动输入行列号。

来看一个示例:

=INDEX(B2:B10, MATCH("John", A2:A10, 0))

该组合会找到 “John” 在 A2:A10 中出现的行,然后返回 B2:B10 中对应的值。

index match example

让我们看看该函数的输出。

index match result

当这两个函数一起使用时,可以实现与 VLOOKUP 相同的结果。然而,INDEX 与 MATCH 提供了更高的灵活性,例如可自由选择返回的列,并能在多列中进行搜索。

XLOOKUP 函数(Excel 2019 及更高版本)

最后,我们来看看最新的 Excel 查找函数之一——XLOOKUP。

语法与参数

XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

实用示例

我们将把该函数应用到一个简单数据集与示例上。

=XLOOKUP("John", A2:A10, B2:B10, "Not Found")

xlookup example

上述函数在 A2:A10 中搜索 "John",并从 B2:B10 返回值;若未找到则返回 "Not Found"。

xlookup result

从以上公式的输出可以看到,显示了 “Not Found”。这表示不存在员工姓名为 “John” 的记录。

对比:LOOKUP vs. VLOOKUP vs. XLOOKUP

让我们将这些函数放在一起比较,看看它们的差异。

功能

LOOKUP

VLOOKUP

XLOOKUP

方向

垂直

垂直

二者皆可

精确匹配

否

是

是

近似匹配

是

是

是

向左查找

否

否

是

是否需要排序数据

是

是(用于近似)

否

错误处理

否

有限

是

结论

查找函数是 Excel 中进行高效数据检索的必备工具。尽管 LOOKUP、VLOOKUP 与 HLOOKUP 各有用武之地,但 INDEX/MATCH 与 XLOOKUP 提供了更高的灵活性与功能。了解何时以及如何使用它们,可以显著提升您的表格效率与分析能力。

如果您在寻找更多 Excel 资源,我们的Excel 数据准备课程是很好的起点。若要夯实 Excel 基础,我们的Excel 基础技能路径是最佳选择。您也可以查看我们的 Excel 教程:常用 Excel 公式与跨工作表使用 VLOOKUP。

Excel 查找函数常见问题

什么是 Excel 中的查找函数?

Excel 中的查找函数允许您根据指定条件,在某个单元格区域内查找特定数据。

Excel 的查找函数有哪些类型?

主要类型包括 VLOOKUP、HLOOKUP、INDEX-MATCH 和 XLOOKUP。

如何在 Excel 中使用查找函数?

要使用查找函数,您需要指定要搜索的单元格范围、匹配条件,以及目标数据所在的列或行。

我可以在一个公式中组合多个查找函数吗?

可以。您可以在一个公式中组合不同的查找函数,以检索更具体或更复杂的数据。您可以将查找函数相互嵌套,构建更复杂的公式。

在 Excel 中使用查找函数有什么局限吗?

其中一个局限是,查找函数通常要求数据以特定格式(如表格的行与列)组织。数据或单元格引用的变更也可能对其产生影响。

主题