使用VLOOKUP函数在多个工作表中查找相匹配的值
在某个工作表单元格区域中查找值时,我们通常都会使用VLOOKUP函数。但是,如果在多个工作表中查找值并返回第一个相匹配的值时,可以使用VLOOKUP函数吗?本文将解这个技术。
最简单的解决方案是在每个相关的工作表中使用辅助列,即首先将相关的单元格值连接并放置在辅助列中。然而,有时候我们可能不能在工作表中使用辅助列,特别是要求在被查找的表左侧插入列时。因此,本文会提供一种不使用辅助列的解决方案。
下面是3个示例工作表:
:工作表Sheet1
:工作表Sheet2
:工作表Sheet3
示例要求从这3个工作表中从左至右查找,返回Colour列中为“Red”对应的Amount列中的值,如下所示。
:主工作表Master
数组公式如下:
=VLOOKUP($A3,INDIRECT(“‘”&INDEX(Sheets,MATCH(TRUE,COUNTIF(INDIRECT(“‘”&Sheets&”‘!B:B”),$A3)>0,0))&”‘!B1:D10″),3,0)
其中,Sheets是定义的名称:
名称:Sheets
引用位置:={“Sheet1″,”Sheet2″,”Sheet3”}
在公式中使用的VLOOKUP函数与平常并没有什么不同,我们首先需要确定在哪个工作表中进行查找,因此我们使用的函数应该能够操作三维单元格区域,而COUNTIF函数就可以。公式中的:
COUNTIF(INDIRECT(“‘”&Sheets&”‘!B:B”),$A3)
转换为:
COUNTIF(INDIRECT(“‘”&{“Sheet1″,”Sheet2″,”Sheet3″}&”‘!B:B”),$A3)
转换为:
COUNTIF(INDIRECT({“‘Sheet1’!B:B”,”‘Sheet2’!B:B”,”‘Sheet3’!B:B”}),$A3)
INDIRECT函数指令Excel将这个文本字符串数组中的元素转换为单元格引用,然后传递给COUNTIF函数,同时单元格A3中的值作为其条件参数,这样上述公式转换成:
{0,1,3}
分别代表工作表Sheet1、Sheet2、Sheet3的列B中“Red”的数量。
因为我们想得到第一个匹配的结果,所以将该数组传递给MATCH函数:
MATCH(TRUE,COUNTIF(INDIRECT(“‘”&Sheets&”‘!B:B”),$A3)>0,0)
转换为:
MATCH(TRUE,{0,1,3}>0,0)
转换为:
MATCH(TRUE,{FALSE,TRUE,TRUE},0)
结果为:
2
因此,将在工作表列表中的第2个工作表即Sheet2中执行VLOOKUP操作。
现在,将上面的结果作为参数值传递给INDEX函数:
INDEX(Sheets,MATCH(TRUE,COUNTIF(INDIRECT(“‘”&Sheets&”‘!B:B”),$A3)>0,0))
转换为:
INDEX(Sheets,2)
转换为:
INDEX({“Sheet1″,”Sheet2″,”Sheet3”},2)
结果为:
Sheet2
这里,需要使用INDIRECT函数进一步构造来生成传递给VLOOKUP函数的单元格区域,因此:
=VLOOKUP($A3,INDIRECT(“‘”&INDEX(Sheets,MATCH(TRUE,COUNTIF(INDIRECT(“‘”&Sheets&”‘!B:B”),$A3)>0,0))&”‘!B1:D10″),3,0)
转换为:
=VLOOKUP($A3,INDIRECT(“‘Sheet2″&”‘!B1:D10”),3,0)
转换为:
=VLOOKUP($A3,INDIRECT(“‘Sheet2′!B1:D10”),3,0)
转换为:
=VLOOKUP($A3,’Sheet2’!B1:D10,3,0)
得到结果:
55
最新推荐
-
怎样取消wps网盘在我的电脑中显示 关闭wps网盘显示
怎样取消wps网盘在我的电脑中显示?很多用户在下载安装wps办公软件后,发现我的电脑里多了一个wps网盘的 […]
-
手机剪映怎么添加第二个视频轨道 剪映增加视频轨道
手机剪映怎么添加第二个视频轨道?在手机剪映中,用户可以通过添加多条视频轨道来进行画中画效果,对要剪辑的视频 […]
-
华为手机纯净模式在哪里关闭 取消纯净模式华为
华为手机纯净模式在哪里关闭?华为手机默认的纯净模式是一种安全防护功能,可以保护用户的安全和数据隐私安全。在 […]
-
wps字的右上角的[1]怎么打 word文档右上角标注
本文主要介绍:很多小伙伴平时会通过WPS进行办公,比如对于一些相关的文档资料的整理的情况,那么就可以在WPS中的Word文字文档中进行操作,一些小伙伴想要知道怎么在文字旁边添加一个[1]的上标符号,想
-
win10怎么开启手写模式 win10怎么调出手写键盘功能
现在的win10系统是支持用户们连接手写板进行使用,在设备连接之后,还是需要将电脑中的功能启动才能够正常运行,很多小伙伴不知道应该如何设置开启手写面板的功能,针对这个问题,下面来为广大用户们进行解答,一起来看看详细的操作步骤吧。
-
手机剪映怎么删除多余视频片段 剪映怎么删掉部分视频
手机剪映怎么删除多余视频片段?手机剪映是一款强大的视频剪辑工具,它可以对用户们所拍摄的视频进行编辑,比如常 […]
热门文章
怎样取消wps网盘在我的电脑中显示 关闭wps网盘显示
2手机剪映怎么添加第二个视频轨道 剪映增加视频轨道
3华为手机纯净模式在哪里关闭 取消纯净模式华为
4wps字的右上角的[1]怎么打 word文档右上角标注
5win10怎么开启手写模式 win10怎么调出手写键盘功能
6手机剪映怎么删除多余视频片段 剪映怎么删掉部分视频
7win10如何把电脑改为无密码 win10取消开机账户登录的步骤
8win10访问共享文件要求输入网络凭据 访问共享电脑需要输入网络凭据怎么办
9手机剪映如何只导出音频mp3 剪映导出音频mp3
10edge怎么导入其他浏览器数据 edge浏览器导入chrome浏览器数据
随机推荐
专题工具排名 更多+