定义名称+indirect:另类交叉查询

你好,我是刘卓。欢迎来到我的公号,excel函数解析。昨天分享了用定义名称引用图片的方法。今天接着来分享定义名称的其他用法,和indirect结合使用,可以实现一些”意想不到“的效果,比如另类交叉查询以及制作2级下拉菜单。

今天先来分享另类交叉查询的方法,效果如下图所示。根据姓名和科目在左表中查找对应的分数。对于这个问题,我相信很多小伙伴都会。比如用vlookup+match或index+match。
但是现在我们H2单元格的公式为:

=INDIRECT(F2) INDIRECT(G2)

这个公式是什么意思呢?其实就是两个区域的交集。比如下图姓名选择何洁素,科目选择数学,实际就是B8:D8与C2:C11的交集,如标黄的部分,最后返回的结果是80。

两个区域之间用空格相连表示它们的交集,比如B8:D8 C2:C11代表B8:D8与C2:C11的交集。你可以在单元格中输入公式=B8:D8 C2:C11,看它返回的结果是不是80。

如果你明白了区域交集的用法,那么下面就要理解=INDIRECT(F2)为什么可以返回B8:D8的区域,这里还是以上图的何洁素为例说明的。因为选择的姓名不同,返回的区域也会不同。

其实这里就用到了定义名称。选择左表的区域,点【公式】-【根据所选内容创建】,在弹出的对话框中选择【首行和最左列】,确定。然后点击名称管理器,可以看到里边已经有了很多刚定义好的名称。

每个姓名和科目都被定义为名称,并且引用相应的区域,比如高惠秀这个名称引用的区域是B5:D5。数学这个名称引用的区域是C2:C11。简单来说就是,姓名引用行方向的区域,科目引用列方向的区域。

如下图所示,当我选择B8:D8的区域时,它自动显示出何洁素这个名称,因为B8:D8已经被定义为何洁素这个名称了。选择C2:C11的区域时,自动显示为数学这个名称。求它们的交集,公式为=何洁素 数学。

既然求交集的公式可以写为名称的交集,那么H2单元格的公式能否写为=F2 G2呢?结果为#null!错误值,也就是F2和G2没有交集。因为此时F2返回的不是何洁素的名称,而是"何洁素" ,可以在公式栏选中F2按F9查看结果。

外面多了一对双引号,就变为了文本型的引用。如果不理解,可以按下面的”粗暴“的等量代换理解。何洁素=B8:D8,"何洁素"="B8:D8"。所以需要用indirect将文本型的引用变成真正的引用。

下面的等量代换的公式,可以帮助你理解。

INDIRECT(F2)=INDIRECT("何洁素")=INDIRECT("B8:D8")

今天的内容不多,但是理解起来可能有点绕,你可以慢慢消化。下次将与你分享如何用定义名称+indirect+数据验证制作2级下拉菜单,期待你的关注。
链接:

https://pan.baidu.com/s/1ER_jTxRpT4n1DyAHFq5mqw

提取码:q9wj
(0)

相关推荐