Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

为什么INDIRECT函数值得我们学习呢?
先来看一个案例吧 。

跨表查询 。

例如 , 我们有1-6个月的销量数据,现在需要从中查找出几个人的数据 。
Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

这个问题很经典吧?
当然也很简单 , 一个VLOOKUP公式搞定!
=VLOOKUP($A2,'1月'!A:B,2,0)
但是你很快就会发现,这个公式有个巨大的问题,它只能向下填充,却不能向右填充 。
Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

这样,你要查6个月的数据就得修改VLOOKUP公式6次!
【Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询】但 , 当你学会了INDIRECT函数之后,你就可以把公式修改成:
=VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,0)

Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

有了INDIRECT和VLOOKUP函数双剑合璧,一个公式就可以搞定所有的查询啦 。
然后,还有额外的好处 。
Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

看到了吗?我们修改了标题(待查询的工作表名称),不必修改公式,就自动获得了新的查询结果 。
这就是INDIRECT跨表查询的能力 。
Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

INDIRECT函数是Excel函数中的好员工,既可以单独使用 , 也可以配合其他函数使用 。

INDIRECT函数语法 。

非常简单,即“=INDIRECT(单元格引用)” 。例如“=INDIRECT("A1")"将得到A1单元格的值 。
括号中是一个双引号 , 引号内是单元格地址,这个地址内的数值是什么 , INDIRECT函数就会得到什么 。
Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

这有什么用呢?为什么不直接用“=A1”,而要用“=INDIRECT("A1")”这样的公式呢?
让我们先看一下下面这张图吧 。
Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

由此,我们会发现,尽管INDIRECT函数就一个参数 , 也能玩出很多花样啦 。一个单元格地址包含行号和列号,这样我们就可以将其中的行号或列号存放在另外一个单元格中,从而实现动态引用单元格 。
Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

这样 , 我们的公式可以保持不变,通过修改行号或列号单元格,可以获得不同的结果 。最经典的就是用于创建多级下拉菜单 。

制作二级下拉菜单 。

①选中原始数据“人事部、市场部、财务部”,点击公式——指定——名称创建于首行——确定;
②“部门”下插入一级下拉菜单,并随便选择一项;
③“姓名”下插入下拉菜单,输入“=INDIRECT($B3)” 。
(详细步骤请参考文章《》)

Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

当一级下拉菜单选择了一个部门时,INDIRECT函数就会自动指向该部门名称,从而获得对应的姓名 。
Excel INDIRECT函数经典用法:二级下拉菜单和跨表查询

除了二级下拉菜单、跨表查询,INDIRECT函数还可以用于动态求和、跨表求和、合并工作表和工作簿等 。
至此,你学会了INDIRECT函数了吗?

本文由解晴新生原创,欢迎关注,带你一起长知识!

相关经验推荐