使用 Excel 内置函数查找表格或单元格区域中的数据

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。

摘要

本分步指南介绍了如何使用 Microsoft Excel 中的各种内置函数在表格 (或单元格区域) 中查找数据。 可以使用不同的公式获得相同的结果。

创建示例工作表

本文使用一个示例工作表来演示 Excel 内置函数。 请考虑引用 A 列中的名称, 并从 C 列返回该人员年龄的示例。若要创建此工作表, 请在空白 Excel 工作表中输入以下数据。

您将在单元格 E2 中键入要查找的值。 可以在同一工作表中的任何空白单元格中键入公式。

A

B

C

D

E

1

姓名

部门

年数

查找值

2

Henry

501

28

Mary

3

Stan

201

19

4

Mary

101

22

5

Larry

301

29

术语定义

本文使用以下术语来描述 Excel 内置函数:

术语

定义

示例

表数组

整个查阅表格

A2: C5

Lookup_Value

要在 Table_Array 的第一列中找到的值。

E2

Lookup_Array
-或-
Lookup_Vector

包含可能的查找值的单元格区域。

A2: A5

Col_Index_Num

Table_Array 中的列数应返回匹配的值。

3 (Table_Array 中的第三列)

Result_Array
-或-
Result_Vector

只包含一行或一列的区域。 它的大小必须与 Lookup_Array 或 Lookup_Vector 相同。

C2: C5

Range_Lookup

逻辑值 (TRUE 或 FALSE)。 如果为 TRUE 或省略,则返回近似匹配值。 如果为 FALSE, 它将查找精确匹配。

FALSE

Top_cell

这是要作为偏移基准的参照。 Top_Cell 必须引用单元格或相邻单元格区域。 否则, OFFSET 返回 #VALUE! 。

Offset_Col

这是你希望结果的左上角单元格引用的列数 (在左侧或右侧)。 例如, "5" 作为 Offset_Col 参数指定引用的左上角单元格是引用右侧的五列。 Offset_Col 可以是正数 (表示起始引用的右侧) 或负数 (表示起始引用的左侧)。

功能

LOOKUP ()

LOOKUP函数在一行或一列中查找值, 并将其与另一行或列中相同位置的值相匹配。

下面是一个查找公式语法的示例:

   = LOOKUP (Lookup_Value, Lookup_Vector, Result_Vector)


下面的公式在示例工作表中查找 Mary 的年龄:

   = LOOKUP (E2, A2: A5, C2: C5)

公式使用单元格 E2 中的值 "Mary", 在查找向量 (列 A) 中找到 "Mary"。 然后, 该公式将与结果矢量 (列 C) 中的同一行中的值相匹配。 由于 "Mary" 位于第4行, 因此 LOOKUP 返回列 C 中第4行 (22) 中的值。

注意:LOOKUP函数要求对表进行排序。

有关查阅函数的详细信息, 请单击下面的文章编号, 以查看 Microsoft 知识库中相应的文章:
 

如何在 Excel 中使用 LOOKUP 函数

VLOOKUP ()

在列中列出数据时, 将使用VLOOKUP或垂直查找函数。 此函数将搜索最左侧列中的值, 并将其与同一行中指定列中的数据相匹配。 可以使用VLOOKUP在已排序或未排序的表中查找数据。 下面的示例使用包含未排序数据的表。

下面是VLOOKUP公式语法的一个示例:

    = VLOOKUP (Lookup_Value, Table_Array, Col_Index_Num, Range_Lookup)

下面的公式在示例工作表中查找 Mary 的年龄:

   = VLOOKUP (E2, A2: C5, 3, FALSE)

公式使用单元格 E2 中的值 "Mary", 并在最左侧的列 (列 A) 中找到 "Mary"。 然后, 该公式将匹配 Column_Index 中同一行中的值。 此示例使用 "3" 作为 Column_Index (C 列)。 由于 "Mary" 位于第4行, VLOOKUP返回列 C 中第4行 (22) 中的值。

有关VLOOKUP函数的详细信息, 请单击下面的文章编号, 以查看 Microsoft 知识库中相应的文章:
 

如何使用 VLOOKUP 或 HLOOKUP 查找精确匹配项

INDEX () 和 MATCH ()

可以结合使用 INDEX 和 MATCH 函数来获得与使用LOOKUPVLOOKUP相同的结果。

下面是一个语法示例, 它将索引匹配项与前面的示例中的LOOKUPVLOOKUP产生相同的结果:

    = INDEX (Table_Array, MATCH (Lookup_Value, Lookup_Array, 0), Col_Index_Num)

下面的公式在示例工作表中查找 Mary 的年龄:


= INDEX (A2: C5, 匹配 (E2, A2: A5, 0), 3)

公式使用单元格 E2 中的值 "Mary", 并在列 A 中找到 "Mary"。然后, 它与列 C 中同一行中的值相匹配。由于 "Mary" 位于第4行, 因此公式将返回列 C 中第4行 (22) 中的值。

提示 如果 Lookup_Array 中的所有单元格都不匹配 Lookup_Value ("Mary"), 此公式将返回 #N/A.
有关INDEX函数的详细信息, 请单击下面的文章编号, 以查看 Microsoft 知识库中相应的文章:

如何使用 INDEX 函数查找表中的数据

OFFSET () 和 MATCH ()

可以将OFFSETMATCH函数一起使用, 以生成与上一示例中的函数相同的结果。

下面是一个语法示例, 该语法结合偏移和匹配以生成与LOOKUPVLOOKUP相同的结果:

   = OFFSET (top_cell, MATCH (Lookup_Value, Lookup_Array, 0), Offset_Col)

此公式在示例工作表中查找 Mary 的年龄:

   = 偏移量 (A1, 匹配 (E2, A2: A5, 0), 2)

公式使用单元格 E2 中的值 "Mary", 并在列 A 中找到 "Mary"。然后, 该公式将同一行中的值与右侧的两列 (列 C) 相匹配。 由于 "Mary" 位于列 A 中, 因此公式返回列 C 中第4行 (22) 中的值。

有关OFFSET函数的详细信息, 请单击下面的文章编号, 以查看 Microsoft 知识库中相应的文章:
 

如何使用 OFFSET 函数

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×