应用对象
Microsoft 365 专属 Excel Microsoft365.com iPhone 版我的 Office

摘要

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

创建示例工作表

本文使用示例工作表来说明 Excel 内置函数。 请考虑从列 A 引用姓名并从 C 列返回该人的年龄的示例。若要创建此工作表,请在空白 Excel 工作表中输入以下数据。在单元格 E2 中键入要查找的值。 可以在同一工作表中的任何空白单元格中键入公式。

A

B

C

D

E

1

姓名

Dept

年数

查找值

2

Henry

501

28

Mary

3

斯坦

201

19

4

Mary

101

22

5

拉里

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 (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 函数要求对表进行排序。

有关 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”,并在最左侧的列中查找“Mary” (列 A) 。 然后,公式将匹配Column_Index中同一行中的值。 此示例使用“3”作为Column_Index (列 C) 。 由于“Mary”位于第 4 行中,因此 VLOOKUP 在 C 列 (22) 中返回第 4 行的值。

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

如何使用 VLOOKUP 或 HLOOKUP 查找完全匹配项

INDEX () 和 MATCH ()

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

下面是一个语法示例,该语法结合了 INDEXMATCH ,以生成与前面的示例中 LOOKUPVLOOKUP 相同的结果:

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

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

=INDEX (A2:C5,MATCH (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 函数一起使用,以生成与上一示例中的函数相同的结果。下面是一个语法示例,它结合了 OFFSET 和 MATCH 以生成与 LOOKUPVLOOKUP 相同的结果:

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

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

   =OFFSET (A1,MATCH (E2,A2:A5,0) ,2)

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

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

如何使用 OFFSET 函数

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。