excel学习库

excel表格_excel函数公式大全_execl从入门到精通

如何在多个工作表查询

如下图所示,工作表“1月”、“2月”、“3月”是三个月份的考试成绩。

在“查询表”中根据指定月份和姓名,查询对应的分数。

“查询表”的下拉列表中选择的月份不同,就要在不同的工作表中查找。

除了使用查找函数vlookup外,还需搭配使用indirect函数来处理变化的查找区域。

在D3单元格输入公式:

=VLOOKUP(C3,INDIRECT("'"&B3&"'!$A$1:$B$7"),2,FALSE)

公式解析:

(1)如果本例中查询月份始终不变,比如在工作表“1月”中查找指定姓名的分数,在D3单元格输入公式:

=VLOOKUP(C3,'1月'!$A$1:$B$7,2,FALSE)

查找区域中的感叹号“!”是引用的工作表名称和单元格区域之间的分隔符。

(2)vlookup函数的查找区域是不确定的,需要使用indirect函数生成查找区域。

indirect函数可以将文本转化为引用。比如在B1单元格输入公式:="B3",在B1单元格内显示文本“B3”。

如果在B1单元格输入公式:=INDIRECT("B3"),返回的是B3单元格的值“abc”。

indirect函数可以将文本转为引用。对于indirect函数来说,括号内的"B3"不再是文本B3,而是单元格B3。公式:=INDIRECT("B3")等同于公式:=B3。

回到我们的例子中,如果在查找区域外套上一个indirect函数,公式也能返回正确的结果。

如下图所示,在D3单元格输入公式:
=VLOOKUP(C3,INDIRECT("'1月'!$A$1:$B$7"),2,FALSE)

进一步的,indirect函数中的文本“1月”不直接输入,而是引用B3单元格,这样当B3单元格选择的月份变化时,indirect函数返回的引用区域也会变化。因此D3单元格的公式变形为:

=VLOOKUP(C3,INDIRECT("'"&B3&"'!$A$1:$B$7"),2,FALSE)

(3)vlookup函数查找不到值时返回错误值#N/A。可以使用IFNA函数,设置查找不到值时返回“查找不到”。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接