这是一个使用 vlookup 函数嵌套 INDIRECT 函数来实现跨工作表数据引用的教程。

某小学决定要抽查本校三年级三个班的期末考情况,抽查方法为在每个班中抽查5名学生,将这15名学生的期末考情况汇总到一个表中考察。

工具/原料

 
  • 电子表格软件
  • vlookup 、 INDIRECT

方法/步骤

 
  1. 1

    该小学现已在一个工作簿中建立《三年1班》、《三年2班》、《三年3班》3张工作表,如图:

  2. 2

    现在每班5名同学也已抽出,如图:

  3.  

    现在要做的,就是要在《成绩抽查》工作表里面,引用《三年1班》、《三年2班》、《三年3班》3张工作表中被抽查的学生的成绩。应该怎么做呢?

  4.  

    使用 VLOOKUP 函数引用数据

    根据常规的做法,我们可以使用 VLOOKUP 函数实现数据的引用。

    我们可以在《成绩抽查》工作表 D3 单元格中填写公式:

    =VLOOKUP(A3,三年1班!A3:E17,3,FALSE)

  5.  

    公式讲解:

  6.  

    ① VLOOKUP函数,表示搜索一个或多个数据列。

    ② 表示将单元格 A3 的值作为搜索内容。

    ③ 表示在工作表《三年1班》单元格 A3:E17 的范围内搜索是否有与单元格 A3 的值相匹配的内容。

    ④ 如果找到了相匹配的值,则返回工作表《三年1班》单元格 A3:E17 第3列的对应内容。

    ⑤ "FALSE",表示查找时要求完全匹配,而不是模糊匹配。

  7.  

    我们把此公式填充到 D4:D17,执行结果如下:

  8.  

    为什么 D8:D17 单元格会出现 "#N/A" 这样的结果呢?这是因为所要查找的数据分散在三个工作表,而原来的公式只是在《三年1班》这一个工作表中查找。因为在工作表《三年1班》中查找不到2班、3班的学生,所以公式结果出错。那有没有一个函数能和 VLOOKUP 函数结合在一起,帮助我们实现跨工作表的数据引用?

    有的,那就是 INDIRECT 函数。

  9.  

    使用 INDIRECT 函数,使数据引用实现跨工作表

      公式修改  我们现在考虑如何修改我们最先列出的那个公式。其中一个有效的方法,是把上一个公式中 "三年1班!A3:E17" 这一部分替换为 "INDIRECT($C3&"!A3:E17")" 。

      公式讲解:

  10.  

    我们先来看分式①。分式①是一个文本函数。表示将C3单元格和  "!A3:E17"  这个字符串联合起来,组成一个新字符串。C3单元格中的数值为 "三年1班" ,和  "!A3:E17"  这个字符串组合后就成为 "三年1班!A3:E17" 。所以这个公式此时就相当于:

    =INDIRECT("三年1班!A3:E17")

    而它等价于:

    =三年1班!A3:E1

  11.  

    所以我们就得到了我们所需要的单元格的引用。因此,我们将我们给出的第一个公式

    =VLOOKUP(A3,三年1班!A3:E17,3,FALSE)

    中 "三年1班!A3:E17" 这一部分替换为 "INDIRECT("三年1班!A3:E17")" ,就修改成为如下的新公式:

    =VLOOKUP(A3,INDIRECT($C3&"!A3:E17"),3,FALSE)

    我们将这个公式填充,公式就能根据C列中所列出的不同班级,在相应工作表中查找和引用相关数据,这样显示结果就正常了。

  12.  

    完成工作表我们再在E3填写公式:

    =VLOOKUP(A3,INDIRECT($C3&"!A3:E17"),4,FALSE)

    在F3填写公式:

    =VLOOKUP(A3,INDIRECT($C3&"!A3:E17"),5,FALSE)

    并填充,最终完成这一个数据表:

     
     
    电子表格中函数嵌套使用会大大提高办公效率,大家应该多多使用练习。

使用vlookup嵌套INDIRECT函数实现跨表数据引用的更多相关文章

  1. Bat脚本备份sqlserver 表结构、存储过程、函数、指定表数据

    Bat脚本备份sqlserver 表结构.存储过程.指定表数据: @echo off cd /d %~dp0 ::备份表结构.存储过程和部分配置表的数据 set LogFile=report.log ...

  2. excel跨表数据链接

    按=,然后选择第二个页签下某个数据. 去掉$号,就可以下拉数据

  3. INDIRECT函数实现动态图表的跨数据抓取

    涉及函数: indirect函数:通常有两种用法.直接指定单元格地址和隐式指定单元格地址.直接指定:=indirect("A4"),则会返回A4单元格所显示的内容.参数给定的既是字 ...

  4. Excel-VLOOKUP函数跨表匹配查找①

    问题场景 对表中的员工进行测评总结,从所有员工考核明细表中匹配这些参与测评的员工的得分和相关信息: 场景一 从所有员工明细表中匹配需要参与测评的员工相关信息. 建了两个sheet页,考核员工表和全员考 ...

  5. django之 使用views.py里面的函数对表进行增删改查 内容(models.py中表的创建、views.py中函数的使用,基于对象的跨表查询)

    models之对于表的创建有以下几种: 一对一:ForeignKey("Author",unique=True),  OneToOneField("Author" ...

  6. django(3) 一对多跨表查询、ajax、多对多

    1.一对多跨表查询获取数据的三种形式:对象.字典.元组 例:有host与business两张表,host与business的id字段关联,business在host表中的对象名是b,  通过查询hos ...

  7. sql:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询

    执行sql语句: select * from ( select * from tab where ID>20 order by userID desc ) as a order by date ...

  8. django之跨表查询及添加记录

    一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);     一本书只应该由一个出版商出 ...

  9. python 全栈开发,Day74(基于双下划线的跨表查询,聚合查询,分组查询,F查询,Q查询)

    昨日内容回顾 # 一对多的添加方式1(推荐) # book=Book.objects.create(title="水浒传",price=100,pub_date="164 ...

随机推荐

  1. js获取对象长度和名称

    1.对象的长度不能用.length获取,用js原生的Object.keys可以获取到 var obj = {'name' : 'Tom' , 'sex' : 'male' , 'age' : '14' ...

  2. ubuntu11.04启动 及虚拟文件系统

    虚拟文件系统(VFS)是由Sun microsystems公司在定义网络文件系统(NFS)时创造的.它是一种用于网络环境的分布式文件系统,是允许和操作系统使用不同的文件系统实现的接口.虚拟文件系统(V ...

  3. SystemVerilog语言简介(一)

    1. 接口(Interface) Verilog模块之间的连接是通过模块端口进行的.为了给组成设计的各个模块定义端口,我们必须对期望的硬件设计有一个详细的认识.不幸的是,在设计的早期,我们很难把握设计 ...

  4. HighCharts之2D半圆环图

    HighCharts之2D半圆环图 1.实例源码 HalfDonut.html: <!DOCTYPE html> <html> <head> <meta ch ...

  5. 基于am3358的蜂鸣器测试

    #include <sys/ioctl.h> #include<stdio.h> #include <fcntl.h> #include <sys/types ...

  6. Invalid property 'driver_class' of bean class

    1.错误描述 INFO:2015-05-01 13:06:07[localhost-startStop-1] - Initializing c3p0-0.9.2.1 [built 20-March-2 ...

  7. windows驱动之WDF---CharSample

    驱动程序部分: NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath ) /*++ ...

  8. CF Educational Round 23 F.MEX Queries

    写了3小时 = =.这两天堕落了,昨天也刷了一晚上hihocoder比赛,还爆了零.之后得节制点了,好好准备考研.. 首先很容易想到 压缩数据 + 线段树 然后对于Pushdown真很难写..需要牵涉 ...

  9. 如何登录mysql? cmd怎么连接mysql数据库||从MYSQL客户端登录MYSQL

    1 2 3 4 5 6 7 分步阅读 Mysql开源数据库,任何人都可以下载安装使用.那么安装好的mysql如何登陆连接mysql数据库呢?本经验咗嚛介绍几种常见的方法 工具/原料   mysql 连 ...

  10. android小程序之幸运菜谱

    android小程序之幸运菜谱 前言:刚刚结束短短5天的android公开课程,收获不少,写下来记录一下吧!(因为学校校企公开课的缘故才偶然接触的android,所以只学了这几天,不喜勿喷) 一开始得 ...