用Indirect函数快速列出多表同位置数据

论坛 期权论坛 期权     
Office职场训练营   2019-7-14 23:08   3494   0

间接引用函数INDIRECT在《4个步骤用Excel制作二级联动下拉列表》提到过,用于数据验证来制作二级下拉列表。使用INDIRECT函数还可引用指定单元格内容,引用区域可以是指定工作表或工作簿中的内容。
常常用于总部对各分支机构数据汇总,也可以用于财务部门提取多个同格式财务表格的数据。


我们先来看下直接引用和间接引用的区别。




A5和A6单元格都可以获取A1单元格中的“OFFICE职场训练营”,A5采取的直接引用的方式,A6采取间接引用的方式,相当于引用C1单元格内的文本地址对应的单元格内容。
有读者可能会问,间接引用有什么用?其实,正是INDIRECT函数中引用文本的灵活组合,带来引用地址的变化。比如,INDIRECT函数可以实现提取多表同位置的数据。下图中有3张销售工作表,分别是1-3月份数据,结构完全相同数据不同。还有一张汇总表,希望提取3张销售表对应的B11单元格的数据。




先来看下INDIRECT函数跨工作表引用的语法结构:
INDIRECT(“工作表名!单元格区域”,引用样式参数)

如果工作表名为汉字,工作表名前后可以加上一对单引号,也可以不加。但是数字和一些特殊字符时,必须加单引号,否则不能得到正确结果。建议在工作表命名时尽量不要有空格和特殊符号。

引用样式分2种
  • A1引用样式
  • R1C1引用样式
怎样表示D9单元格?

  • A1引用样式:直接就是用D9表示
  • R1C1引用样式:D9单元格是行号是9,列号是4,Row是行的意思,Column是列的意思,Row9Column4,我们保留第1个字母和数字,得到R9C4,而这个R9C4就是D9单元格的R1C1的表示。
    引用样式参数不填写,默认是A1引用样式。

在汇总表的B2单元格中输入公式:
=INDIRECT(A2&"!B11")
将公式向下填充即可,可以根据A列单元格内容获取对应月份工作表的B11单元格的数据。



INDIRECT函数同样可以实现跨文件引用,语法结构如下:

INDIRECT("[工作簿名.xlsx]工作表名!单元格地址",引用样式参数)

比如,有1月.xlsx、2月.xlsx和3月.xlsx三个月份的数据文件,均含有工作表“销售表”,在第一季度数据.xlsx文件中收集三个文件销售表中B11单元格数据。
可以参考下方动图:




如果INDIRECT函数对另一个工作簿引用,要求那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。
本文节选自《Excel数据管理:不加班的秘密》。

精彩推荐
▼▼▼



分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:35
帖子:7
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP