Table of contents
今天我们将展示如何使用 VLOOKUP公式 实际上,Excel中最重要和最广泛使用的功能之一是 VLOOKUP函数 此外,我们可以使用 VBA的VLOOKUP函数 来查找单个工作表或一系列工作表中的特定数据。
此外,今天我们将展示如何利用 VLOOKUP公式 中寻找一些特定的数据。 多个工作表 在Excel中。
下载实践工作手册
你可以从这里下载实践工作手册。
带有多个表的VLOOKUP公式.xlsx 模拟考试分数.xlsxExcel的VLOOKUP函数简介
=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup] )- 这个函数接收一个名为 表_数组 作为一个参数。
- 然后,搜索一个特定的值,称为 查找_值 在 首先 栏中的 表_数组 .
- 此外,寻找一个近似的匹配,如果 [range_lookup] 论点是 为真 ,否则就搜索完全匹配的。 这里,默认是 为真 .
- 如果它发现任何匹配的 查找_值 在 首先 栏中的 表_数组 ,向右移动几步到一个特定的列 (col_index_number)。
然后,返回该单元格的值。
此外,我们还附上了一个例子 VLOOKUP 现在,请看下图。
公式分解
这里,公式为 vlookup(g8,b4:d15,3,false) 的值进行了搜索。 G8 单元" 安吉拉 "在 首先 表的列。 B4:D15 .
在它找到一个之后,它直接移到了 第三届 栏(由于 栏位数 是 3 .)
然后从那里返回值,是 322 .
在Excel中使用多张表的VLOOKUP公式的5种方法
在这里,我们有一本工作手册,上面有一些考生在三周内的笔试和口试的分数,在不同的工作表里。 此外,第一本的名字是 第一周 .
然后,在 第2次 工作表是 第二周 .
最后是 第三届 工作表,其中包含有以下标记 马可集团 是 第三周 .
现在,我们的目标是将他们的标记从 三 工作表到新的工作表,使用 VLOOKUP Excel的功能。
1.用VLOOKUP公式在每个工作表上单独搜索
在这里,我们有一个新的工作表,名为 "只有VLOOKUP" 按字母顺序排列的所有候选人姓名 (A到Z) 现在,我们将使用 VLOOKUP 公式来搜索Excel中的多个工作表。
首先,我们将通过搜索 三 分开的工作表。
在这里,我们将搜索 查找_值 从一个工作表到另一个工作表的单元格范围。
公式的语法将是:。
=VLOOKUP(lookup_value,'Sheet_name'! table_array, col_index_number,FALSE)- 要搜索的是 符号 在 书面 的。 第一周的候选者 ,将这个公式输入到 C5 新工作表的单元格。
=VLOOKUP(B5,'Week 1'!$B$5:$D$10,2,FALSE)
- 随后,按 进入 .
这表明 #N/A! 错误,因为单元格的值 B5 在 "只有VLOOKUP" 片。 亚历克斯-黑尔斯 ,在范围内不存在 B5:D10 的板材 "第一周 " .
- 然后,拖动 填充手柄 图示。
因此,我们只看到了那些参加考试的考生的分数。 第一周 正在显示,其余的都显示错误。
- 同样地,要想找到万岁的分数,请在以下公式中写下 D5 细胞。
=VLOOKUP(B5,'Week 1'!$B$5:$D$10,3,FALSE)
- 然后,按 进入 .
- 然后,拖动 填充手柄 图标来应用其余单元格中的公式。
因此,我们只看到那些出现在下列考试中的考生的分数 第一周 正在显示,其余的都显示错误。
此外,我们可以对以下情况进行类似的处理 第二周 和 第三周 因此,我们必须寻找一种更好的方法。
通知。 在这里,我们使用了相对的单元格引用,用于 lookup_value (B5) ,但绝对的单元格引用为 table_array ($B$5:$D$10) 因为我们希望 查找_值 在拖拽过程中,一个一个地增加。 填充手柄 图标,但 表_数组 保持不变。阅读更多。 为什么VLOOKUP在存在匹配时返回#N/A? (5个原因& 解决方案)
2.在Excel中用IFERROR函数搜索多个表
这一次,我们将首先在第一个工作表中搜索一个候选人( 第一周 ).
然后,如果我们在第一个工作表中没有找到他/她,我们将在第二个工作表中搜索( 第二周 ).
如果我们仍然没有找到他/她,我们将在第三个工作表中搜索( 第三周 ).
如果我们没有找到他/她,我们将决定他/她是 缺少 从考试中。
在上一节中,我们看到。 VLOOKUP 返回 不适用! 如果它没有找到任何与之匹配的 查找_值 在 表_数组 .
所以这一次我们将筑巢 VLOOKUP 内的功能 的 IFERROR函数 来处理这些错误。
因此,该公式的语法将是:。
=IFERROR(VLOOKUP(lookup_value, "Sheet1_Name"!table_array,col_index_number,FALSE),IFERROR(VLOOKUP(lookup_value, "Sheet2_Name"!table_array,col_index_number,FALSE),IFERROR(VLOOKUP(lookup_value, "Sheet3_Name"!)- 现在,在以下公式中输入 C5 的细胞。 "VLOOKUP & IFERROR" 片。
=IFERROR(VLOOKUP(B5,'Week 1'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,'Week 2'!$B$5:$D$10,2,FALSE)), "缺席") )
- 然后,按 进入 .
因此,你会看到以下的书面标记 亚历克斯-黑尔斯 .
然后,我们将找到亚历克斯-黑尔斯的万岁标记。
- 因此,在以下公式中写下 D5 细胞。
=IFERROR(VLOOKUP(B5,'Week 1'!$B$5:$D$10,3,FALSE),IFERROR(VLOOKUP(B5,'Week 2'!$B$5:$D$10,3,FALSE)), "缺席") )
- 之后,按 进入 .
- 然后,选择两个单元格 C5 和 D5 .
- 因此,拖动 填充手柄 图标到 自动填表 其他单元格中的相应数据 C6:D24 .
最后,你会看到所有候选人的笔试和面试分数。
阅读更多。 Excel中两个表之间的VLOOKUP示例
类似读物
- VLOOKUP不工作(8个原因& 解决方案)
- Excel中的LOOKUP与VLOOKUP:有三个例子
- 什么是VLOOKUP中的表阵列? (有例子说明)
- 如何在Excel中使用嵌套VLOOKUP(3个标准)
- 在Excel中使用多条件的VLOOKUP(6种方法+替代方法)
3.使用组合公式在Excel中搜索多个表
实际上,嵌套的 误差(IFERROR 和 VLOOKUP 基本上,如果有很多工作表,很可能会被混淆并产生错误。
因此,我们将生成另一个公式,使用 诱导性 , 索引 , 匹配 ,以及 COUNTIF 函数,看起来更加复杂,但在有很多工作表的情况下,相对来说更容易应用。
- 首先,创建一个包含所有工作表名称的水平数组。 在这里,我们已经创建了一个在 F5:H5 细胞。
- 然后,在以下公式中插入 C5 细胞。
=IFERROR(VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),B5)>0,0))&'!$B$5:$D$10") ,2,FALSE) ,"缺席")
- 随后,按 进入 .
公式分解
- 首先。 COUNTIF(INDIRECT("'"&$F$5:$H$5&"'! B5:B10"),B5) 返回单元格中值的多少倍 B5 的范围内存在 '第一周'!B5:B10 , '第二周'!B5:B10 和 '第三周'!B5:B10 分别是:[这里 5美元:5美元 是工作表的名称。 因此,在 诱导性 公式收到 'Sheet_Name'!B5:B10 .]
- 输出:{0,0,1} .
- 其次。 MATCH(TRUE,{0,0,1}>0,0) 返回在哪个工作表中的值 B5 是存在的。
- 输出。 3 .
- 在这里,它返回了 3 中的值,因为 B5 ( 亚历克斯-黑尔斯 )是在工作表的第 3 ( 第三周 ).
- 第三。 index($f$5:$h$5,1,3) 返回工作表的名称,其中单元格中的值为 B5 是。
- 输出:"第三周" .
- 第四。 INDIRECT("'"& "第3周″&"'!$B$4:$D$9") 返回工作表的单元格的总范围,其中的值为 B5 是存在的。
- 输出:{"Nathan Mills",72,59;"Ruth Williamson",53,55;"Alex Hales",67,70;"Matthew Shepherd",76,45;"Christina Paul",69,75;"Ricardo Moyes",57,61}。
- 最后。 VLOOKUP(B5,{"Nathan Mills",72,59; "Ruth Williamson",53,55; "Alex Hales",67,70; "Matthew Shepherd",76,45; "Christina Paul",69,75; "Ricardo Moyes",57,61},2,FALSE。) 返回的是 第2栏 的行,其中单元格中的值为 B5 匹配。
- 输出:67 .
- 所以,这就是我们要找的笔试分数。
- 如果在任何工作表中找不到该名称,它将返回 "缺席" 因为我们把它嵌套在一个 误差(IFERROR 功能。
在这里,你可以用一个类似的公式来求出 胜利 候选人的分数。
- 因此,改变 栏位数 从 2 至 3 并写出公式。
=IFERROR(VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),B5)>0,0))&'!$B$5:$D$10"),3,FALSE),"缺席")
- 然后,按 进入 来获得结果。
- 然后拖动 填充手柄 图示。
最后,我们得到了所有考生的笔试和面试分数。 此外,没有找到名字的考生已被标记为缺席。
阅读更多。 INDEX MATCH与VLOOKUP功能的对比(9个例子)
4.带有动态列索引号的VLOOKUP公式
直到现在,为了提取笔试中的分数,我们使用的是 col_index_num 作为 2 .还有,为了口试的分数。 3 .
实际上,我们是在两栏中分别插入公式。
最终,当我们有几列时,在所有的列中分别插入公式将是相当麻烦的。
因此,这次我们将生成一个公式,这样我们就可以把这个公式插入到 首先 列,并将其拖到所有的列中,通过 填充手柄 图示。
简单,而不是插入一个纯数字作为 col_index_num ,插入 columns($c$1:d1) 如果该公式是在 C列 ( 书面分数 ).
然后,它将返回 2 .
然后,如果我们把它拖到 E栏 ,它将成为 columns($c$1:e1) 并返回 3 以此类推。
- 所以现在我们把上一节的公式改成这样。
=IFERROR(VLOOKUP($B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),$B5)>0,0))&'!$B$5:$D$10"),COLUMNS($C$1:D1),FALSE), "缺席")
- 然后,按 进入 .
- 之后,拖动 填充手柄 图标的右侧,以获得 胜利 痕迹。
- 然后,拖动 填充手柄 图标向下。
最后,你会看到所有候选人的笔试和面试分数。
通知。 在这里,我们已经改变了 查找_值 从 B5至$B5 这样,向右拖动时,它保持不变,但向下拖动时就会改变。阅读更多。 Excel动态VLOOKUP(含3个公式)
5.Excel中带有组合函数的VLOOKUP公式
在这里,我们将使用另一个 VLOOKUP 在Excel中,如果有多个工作表,就会忽略这个公式。 误差(IFERROR 因此,让我们看看下面的步骤。
步骤。
- 首先,你必须选择一个新的单元格 C5 你想保留书面标记的地方。
- 其次,你应该使用下面的公式,在 C5 细胞。
=VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,MATCH(1,--(COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!$B$5:$D$10"),B5)>0),0)&"'!$B$5:$D$10") ,2,FALSE)
- 第三,按 进入 .
- 同样,在以下公式中使用 D5 细胞,以获得Viva的分数。
=VLOOKUP(B5,INDIRECT(" '"&INDEX($F$5:$H$5,MATCH(1,--(COUNTIF(INDIRECT(" '"&$F$5:$H$5&" '!$B$5:$D$10"),B5)>0),0)&" '!$B$5:$D$10") ,3,FALSE)
- 随后,按 进入 .
- 然后拖动 填充手柄 图示。
最后,你将看到所有候选人的笔试和面试分数。 此外,你将看到 #N/A 错了,在提到的床单中缺少名字。
Excel中VLOOKUP函数的局限性和一些替代方法
- 在这里,你不能使用 VLOOKUP 功能,当 查找_值 不在 首先 例如,在前面的例子中,你不能使用 VLOOKUP 功能,以了解被选中的候选人的姓名。 90 在笔试中。
- 然而,你可以使用 基金会 , IFS , 指数匹配 , XLOOKUP ,或 筛选器 解释一下这个问题(在这里,你可以访问 本条 ).
- 此外。 VLOOKUP 只返回 首先 如果有一个以上的值符合 查找_值 在这些情况下,你可以使用 筛选器 函数来获取所有的值(在这里,你可以访问 本条 ).
如何在Excel的多个工作簿中应用VLOOKUP公式
在本节中,我们将讨论如何应用 VLOOKUP 现在,让我们把以下工作簿命名为 模拟考试分数 此外,在该工作簿中,还有 三 工作表也是如此,它们是 第一周,第二周 ,以及 第三周 .
在这个时候,我们想比较一下考生的初试和复试分数。 首先,我们找到了复试分数。 在这里,你可以通过以前的任何一种方法找到它。 现在,我们将从另一个工作簿中提取初试分数。
- 因此,在以下公式中写下 D5 细胞。
=IFERROR(VLOOKUP(B5,'[Mock Test Marks.xlsx]Week 1'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,'[Mock Test Marks.xlsx]Week 2'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,[Mock Test Marks.xlsx]Week 3)!
这里,当使用这个公式时,你必须同时打开两个工作簿。 否则,你必须使用 填充路径/位置 而不是只使用文件名。
- 然后,按 进入 .
- 然后,拖动 填充手柄 图标向下。
最后,你会看到所有候选人的最终和初步笔试分数。
练习部分
现在,你可以自己练习所解释的方法。
总结
使用这些方法,你可以用 VLOOKUP Excel的函数作为一个公式,从工作簿中的多个工作表中提取数据。 那么,你还有其他问题吗? 欢迎向我们提问。