我按了一下空格,竟发现了交叉查询最简单的一种方法……

大千世界 99 0

  哈喽,大家好呀!今天我们的话题是交叉查询。

  什么是交叉查询呢?我们先来看一个例子:

  

我按了一下空格,竟发现了交叉查询最简单的一种方法……-第1张图片-大千世界


  这就是一个典型的交叉查询问题。

  那么,如何在表格中根据行列标题快速查询出结果呢?

  通常情况下,大家的第一反应是使用函数嵌套公式来完成。

  常用的公式组合有以下四种:难道就没有简单一点的方法吗?

  诶嘿,还真有!

  只需要两步,不需要复杂的函数公式,一个空格就能搞定。

  ❶ vlookup+match

  公式如下:

  =VLOOKUP(I3,A2:F11,MATCH(I2,A1:F1,0))

  ❷ index+match

  公式如下:

  =INDEX(B2:F11,MATCH(I3,A2:A11,0),MATCH(I2,B1:F1,0))

  ❸ offset+match

  公式如下:

  =OFFSET(A1,MATCH(I3,A2:A11,0),MATCH(I2,B1:F1,0),1,1)

  ❹ indirect+match

  公式如下:

  =INDIRECT("R"&MATCH(I3,A1:A11,0)&"C"&MATCH(I2,A1:F1,0),FALSE)

  是不是觉得头很大?这些公式一个比一个长,一个比一个复杂!

  01、批量命名

  首先给方阵的每排每列都取一个名字,常规的命名方法是选中对应的行或列,然后在名称框输入一个名字,如下图:

  

我按了一下空格,竟发现了交叉查询最简单的一种方法……-第2张图片-大千世界


  太神奇了!

  相信不用我多说,你也能发现,这个公式究竟有多么简单。

  输入等于号,再输入对应的行和列的名称,两个名称之间敲一个空格,公式就写好了。

  注意:在函数公式中,和冒号一样,空格也是一种引用符号。与冒号不同的是,冒号引用的是两个单元格之间的区域;而空格,引用的是两个区域相互重合的部分。

  好了,到这里,我们已经基本上完成了交叉查询的任务了。

  不过还有一点缺憾:现在的行列名,都是手工输入的,离我们最开始展示的效果,还差一点点。

  

我按了一下空格,竟发现了交叉查询最简单的一种方法……-第3张图片-大千世界


  我们再尝试一下,使用单元格引用来输入这个公式:

  输入等于号,点击上方的列名称单元格,敲一下空格,再点击行名称单元格,按下回车键。

  

我按了一下空格,竟发现了交叉查询最简单的一种方法……-第4张图片-大千世界


  很遗憾,我们翻车了!

  为什么手动输入行列名称可以成功,直接引用单元格内容却失败了呢?

  因为手写输入的时候,公式会将这些名称识别为我们命名的区域;而直接引用单元格,公式会把这些名称识别为文本。

  所以,这里我们还缺少一个关键要素,它是一个函数,你能猜出来是什么函数吗?

  不卖关子了!我们缺少的,正是 indirect 函数。

  indirect 函数可以将文本转换为一个指定的引用。

  用人话解释,就是 indirect 函数可以将文本转换为一个地址(前提是地址有效),因为我们一开始就对每行和每列都进行了命名,所以这些地址都是有效的,我们只需要用 indirect 函数来引用这些地址名称,就可以发挥他们真正的效用了。

  所以,这个公式我们还要稍加修改。

  非常简单,只需要在两个单元格前面,分别加上 indirect 函数,就可以了。

  

我按了一下空格,竟发现了交叉查询最简单的一种方法……-第5张图片-大千世界


  怎么样,你学会了吗?

  03、写在最后

  我们最后再把所有 5 种交叉查询的方法都列示出来:

  ❶ vlookup+match

  公式如下:

  =VLOOKUP(I3,A2:F11,MATCH(I2,A1:F1,0))

  ❷ index+match

  公式如下:

  =INDEX(B2:F11,MATCH(I3,A2:A11,0),MATCH(I2,B1:F1,0))

  ❸ offset+match

  公式如下:

  =OFFSET(A1,MATCH(I3,A2:A11,0),MATCH(I2,B1:F1,0),1,1)

  ❹ indirect+match

  公式如下:

  =INDIRECT("R"&MATCH(I3,A1:A11,0)&"C"&MATCH(I2,A1:F1,0),FALSE)

  ❺ 批量命名 + indirect

  公式如下:

  =INDIRECT(I2) INDIRECT(I3)

  要用哪一种,就由你来决定咯!


标签: Excel

抱歉,评论功能暂时关闭!