天天快资讯丨Index函数如何快速批量引用多列数据?
发布时间:2023-02-22 19:40:30 来源:Excel教程学习

今天我们来了解一下index函数是如何批量引用多列数据的。


【资料图】

下图是导出来的中证500成分股在3号的交易信息数据,现在我们需要查询所有“中字头”公司的数据信息。

这个问题我们可以分成两个部分,首先是要提取A列中所有的“中字头”公司名称,然后再根据名称来查询引用它们所有列的数据。

现在作者通过一个不到一分钟的操作来进行指定公司名称的提取。

步骤如下:

点击第一行任意单元格,按下快捷键“CTRL+SHIFT+L”,进入筛选状态,然后点击下拉图标,在输入框中输入“中*”字符,随后点击下方确定按钮。

这时系统自动筛选出所有“中字头”公司名称,我们点击第1个公司名称,然后按下快捷键组合“CTRL+SHIFT+↓”,会自动选定该单元格及下方所有数据,再按下复制快捷键“CTRL+C”。

随后再次点击筛选下图图标,并全选所有选项,点击确定。回到表格中,点击任意空白区域,按下粘贴快捷键“CTRL+V”即可!

虽然作者的语言描述字数不少,但实际操作起来是非常快的,主要是筛选功能和一些快捷键组合的应用。

有了所有特定的公司名称,我们再将标题行复制到空白区域,并着手开始第二部分列数据的提取。

index函数最基础的用法是提取指定行和列的数据,其第2和第3参数用数字来表示。

那么要提取单列数据,如提取交易日期列下的数据,则可以输入公式为:

=INDEX($A$1:$G$501,MATCH(I2,A:A,0),2)

这是提取固定列的公式写法,其第3参数选择列为固定的第2列。

整个公式属于index+match函数组合,是最常见的index组合搭配,其中match函数用于查询公司名称在引用区域A列中的位置。

这里我们发现一个问题,公式得到的结果是一个数字,但其实这个数字是引用到的B列日期,日期在excel中属于数值的一种,通常我们用数字来表示日期值。

我们可以通过下面动图演示的操作,快速转换数字为日期格式。

但作者不建议现在就调整日期格式,因为后续我们还要填充公式,引用其他列的数据,而填充公式也会将单元格的格式复制过去,因此我们可以在完成所有公式填充后,再进行日期格式的转换。

我们知道了固定列引用的公式写法,也就清楚如果要批量提取其他列的数据,只需要在index函数的第3参数进行设置即可。

可选择的方法有不少,作者介绍常用的一种搭配,即index+match+column函数组合。

公式如下:

=INDEX($A$1:$G$501,MATCH($I2,$A:$A,0),COLUMN(A1)+1)

column函数的作用是返回当前单元格的列数,它会随着公式向右填充,而实时变动其公式结果。

此外也要注意一点,当公式需要进行向下或向右填充时,一定要检查公式中各函数参数的单元格引用方式,该绝对引用的要绝对引用,要混合引用的就不能相对引用。这是容易出错的一个地方。

以上就是批量提取所有列数据的index公式写法,如果我们的需求是提取所有行的数据,那么该怎么办呢?

其逻辑与提取所有列数据类似,重点是对index函数第2参数行的选择进行函数嵌套,不过这里将换成row函数而不是column函数,具体的原因这里就不再赘述。

欢迎继续关注作者,我们下期再见!

标签: