摘要
本文分步介绍如何使用 Microsoft Excel 中的各种内置函数在表 (或单元格区域) 查找数据。 可使用不同的公式获得相同的结果。
创建示例工作表
本文使用示例工作表来说明 Excel 内置函数。 考虑从列 A 中引用姓名并从列 C 返回该人的年龄的示例。若要创建此工作表,请在空白 Excel 工作表中输入以下数据。
将在单元格 E2 中键入要查找的值。 你可以在同一工作表的任何空白单元格中键入公式。
| A | B | C | D | E | ||
|---|---|---|---|---|---|---|
| 1 | 姓名 | Dept | 年数 | 查找值 | ||
| 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 | 这是您希望结果的左上角单元格引用左侧或右侧的列数。 例如,作为Offset_Col参数的“5”指定引用中左上角的单元格位于引用右侧的五列处。 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 知识库中相应的文章:
VLOOKUP ()
数据以列的形式列出时使用 VLOOKUP 或 Vertical Lookup 函数。 此函数在最左侧列中搜索值,并将其与同一行中指定列中的数据进行匹配。 可以使用 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 函数来获得与使用 LOOKUP 或 VLOOKUP 相同的结果。
下面是结合使用 INDEX 和 MATCH 以生成与前面示例中的 LOOKUP 和 VLOOKUP 相同的结果的语法示例:
=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 知识库中相应的文章:
OFFSET () 和 MATCH ()
可以一起使用 OFFSET 和 MATCH 函数来生成与上一示例中的函数相同的结果。
下面是结合使用 OFFSET 和 MATCH 以生成与 LOOKUP 和 VLOOKUP 相同的结果的语法示例:
=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 知识库中相应的文章: