使用 VVLOOKUP、INDEX 或 MATCH 查找值

您有一个办公室号码列表,您需要知道每间办公室都有哪些员工。但是电子表格太大,应该怎么办? 使用查找函数。VLOOKUPHLOOKUP 是两个最有用的函数,INDEXMATCH 也是。

注意:  如果您在寻找查阅向导,Excel 已不再包含此功能。

以下是如何使用 VLOOKUP 的快速提醒。

=VLOOKUP(B2,C2:E7,3,TRUE)

第一个参数(函数需要处理的那部分数据)是您要查找的值。这可以是单元格引用,也可以是“smith”或 21,000 之类的硬编码值。第二个参数是单元格区域,您认为此区域包含您要查找的值。此例中为 C2-C7。第三个参数是上述单元格区域中的某列,该列包含您要看到的值。

第四个参数可选。可以输入 True 或 False。如果输入 TRUE 或留空此参数,则函数将返回第一个参数中指定的值的近似匹配。如果输入 FALSE,函数将匹配第一个参数提供的值。换言之,将第四个参数留空或输入 TRUE 可以更加灵活。

此示例演示函数的工作方式。在单元格 B2(第一个参数)中输入值后,VLOOKUP 搜索单元格 C2-E7(第二个参数),并从区域中的第三列 E 列(第三个参数)返回最接近的近似匹配。

VLOOKUP 函数的典型用法

第四个参数为空,因此函数返回近似匹配。如果未返回结果,必须输入 C 或 D 列中的某个值才能得到结果。

熟悉 VLOOKUP 后,使用 HLOOKUP 函数应该不会太难。您输入相同的参数,只不过 HLOOKUP 在行中查找值,而不是在列中。

不妨尝试一下

如果您希望用自己的数据尝试之前先试用查找函数,这里提供了一些示例数据。有人喜欢使用 VLOOKUP 和 HLOOKUP,而其他人偏爱 INDEX 和 MATCH。请尝试每种方法,看看您最喜欢哪几个。

VLOOKUP 实践

复制此表中的所有单元格,然后将其粘贴到空白 Excel 工作表的单元格 A1 中。

提示    在将数据粘贴到 Excel 中之前,请将 A 列到 C 列的列宽设置为 250 像素,并单击“自动换行”(“开始”选项卡上的“对齐方式”组)。

密度

粘度

温度

0.457

3.55

500

0.525

3.25

400

0.606

2.93

300

0.675

2.75

250

0.746

2.57

200

0.835

2.38

150

0.946

2.17

100

1.09

1.95

50

1.29

1.71

0

公式

说明

结果

'=VLOOKUP(1,A2:C10,2)

使用近似匹配搜索 A 列中的值 1,在 A 列中找到小于等于 1 的最大值 0.946,然后返回同一行中 B 列的值。

=VLOOKUP(1,A2:C10,2)

'=VLOOKUP(1,A2:C10,3,TRUE)

使用近似匹配搜索 A 列中的值 1,在 A 列中找到小于等于 1 的最大值 0.946,然后返回同一行中 C 列的值。

=VLOOKUP(1,A2:C10,3,TRUE)

'=VLOOKUP(0.7,A2:C10,3,FALSE)

使用精确匹配在 A 列中搜索值 0.7。因为 A 列中没有精确匹配的值,所以返回一个错误值。

=VLOOKUP(0.7,A2:C10,3,FALSE)

'=VLOOKUP(0.1,A2:C10,2,TRUE)

使用近似匹配在 A 列中搜索值 0.1。因为 0.1 小于 A 列中最小的值,所以返回一个错误值。

=VLOOKUP(0.1,A2:C10,2,TRUE)

'=VLOOKUP(2,A2:C10,2,TRUE)

使用近似匹配搜索 A 列中的值 2,在 A 列中找到小于等于 2 的最大值 1.29,然后返回同一行中 B 列的值。

=VLOOKUP(2,A2:C10,2,TRUE)

HLOOKUP 实践

复制此表中的所有单元格,然后将其粘贴到空白 Excel 工作表的单元格 A1 中。

提示    在将数据粘贴到 Excel 中之前,请将 A 列到 C 列的列宽设置为 250 像素,并单击“自动换行”(“开始”选项卡上的“对齐方式”组)。

车轴

轴承

螺钉

4

4

9

5

7

10

6

8

11

公式

说明

结果

'=HLOOKUP("车轴", A1:C4, 2, TRUE)

在首行查找车轴,并返回同列(列 A)中第 2 行的值。

=HLOOKUP("车轴",A1:C4,2,TRUE)

'=HLOOKUP("轴承", A1:C4, 3, FALSE)

在首行查找轴承,并返回同列(列 B)中第 3 行的值。

=HLOOKUP("轴承",A1:C4,3,FALSE)

'=HLOOKUP("B", A1:C4, 3, TRUE)

在首行查找 B,并返回同列中第 3 行的值。因为找不到 B 的完全匹配项,将使用第 1 行列 A 中小于 B 的最大值 "车轴"。

=HLOOKUP("B",A1:C4,3,TRUE)

'=HLOOKUP("螺栓", A1:C4, 4)

在首行查找螺栓,并返回同列(列 C)中第 4 行的值。

=HLOOKUP("螺栓",A1:C4,4)

'=HLOOKUP(3, {1,2,3;"a","b","c";"d","e","f"}, 2, TRUE)

在三行数组常量中查找数字 3,并返回同列(本例中为第三列)中第 2 行的值。数组常量中有三行数值,并且每行都用分号 (;) 分隔。因为在第 2 行和第 3 列(同一列)中找到 c,因此将返回 c。

=HLOOKUP(3,{1,2,3;"a","b","c";"d","e","f"},2,TRUE)

INDEX 和 MATCH 实战

此示例使用 INDEX 和 MATCH 函数一起为五座城市中的每座城市分别返回最早的发票编号及其相应的日期。由于日期返回为数字,我们使用 TEXT 函数将其格式设置为日期。INDEX 函数实际使用 MATCH 函数的结果作为其参数。INDEX 和 MATCH 函数的组合在每个公式中使用两次,首先返回发票编号,然后返回日期。

复制此表中的所有单元格,然后将其粘贴到空白 Excel 工作表的单元格 A1 中。

提示    在将数据粘贴到 Excel 中之前,请将 A 列到 D 列的列宽设置为 250 像素,并单击“自动换行”(“开始”选项卡上的“对齐方式”组)。

发票

城市

发票日期

按城市显示的最早发票,包含日期

3115

广州

12/4/7

="广州 = "&INDEX($A$2:$C$33,MATCH("广州",$B$2:$B$33,0),1)& ", 发票日期:" & TEXT(INDEX($A$2:$C$33,MATCH("广州",$B$2:$B$33,0),3),"yy/m/d")

3137

广州

12/4/9

="武汉 = "&INDEX($A$2:$C$33,MATCH("武汉",$B$2:$B$33,0),1)& ", 发票日期:" & TEXT(INDEX($A$2:$C$33,MATCH("武汉",$B$2:$B$33,0),3),"yy/m/d")

3154

广州

12/4/11

="张家口 = "&INDEX($A$2:$C$33,MATCH("张家口",$B$2:$B$33,0),1)& ", 发票日期:" & TEXT(INDEX($A$2:$C$33,MATCH("张家口",$B$2:$B$33,0),3),"yy/m/d")

3191

广州

12/4/21

="三亚 = "&INDEX($A$2:$C$33,MATCH("三亚",$B$2:$B$33,0),1)& ", 发票日期:" & TEXT(INDEX($A$2:$C$33,MATCH("三亚",$B$2:$B$33,0),3),"yy/m/d")

3293

广州

12/4/25

="长春 = "&INDEX($A$2:$C$33,MATCH("长春",$B$2:$B$33,0),1)& ", 发票日期:" & TEXT(INDEX($A$2:$C$33,MATCH("长春",$B$2:$B$33,0),3),"yy/m/d")

3331

广州

12/4/27

3350

广州

12/4/28

3390

广州

12/5/1

3441

广州

12/5/2

3517

广州

12/5/8

3124

武汉

12/4/9

3155

武汉

12/4/11

3177

武汉

12/4/19

3357

武汉

12/4/28

3492

武汉

12/5/6

3316

张家口

12/4/25

3346

张家口

12/4/28

3372

张家口

12/5/1

3414

张家口

12/5/1

3451

张家口

12/5/2

3467

张家口

12/5/2

3474

张家口

12/5/4

3490

张家口

12/5/5

3503

张家口

12/5/8

3151

三亚

12/4/9

3438

三亚

12/5/2

3471

三亚

12/5/4

3160

长春

12/4/18

3328

长春

12/4/26

3368

长春

12/4/29

3420

长春

12/5/1

3501

长春

12/5/6

有关查找函数的更多信息

返回页首

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

此信息是否有帮助?

谢谢您的反馈!

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

×