如何在Google Sheet中基于行索引数组返回子数组?
在Google Sheet中基于行索引数组提取子数组
假设你的原始数据位于A:B列(对应示例中的数据),需要提取的行索引数组为{3;5},可以用以下方法实现:
直接使用INDEX函数
INDEX函数支持传入数组作为行/列参数,直接指定要提取的行和列即可:
=INDEX(A:B, {3;5}, {1,2})
- 第一个参数
A:B是原始数据区域 - 第二个参数
{3;5}是需要提取的行索引数组 - 第三个参数
{1,2}是需要提取的列索引(如果要提取所有列,也可以省略该参数,直接写=INDEX(A:B, {3;5}))
执行公式后,会直接返回对应的子数组:
C, 30
E, 50
引用单元格中的行索引
如果行索引是存储在单元格区域(比如D1:D2,值为3和5),可以将公式改为:
=INDEX(A:B, D1:D2, COLUMN(A:B))
新版Google Sheet支持动态数组,直接回车即可返回结果;旧版需要按Ctrl+Shift+Enter作为数组公式执行。
补充说明
如果行索引是通过其他公式生成的动态数组(比如MATCH函数返回的匹配行号数组),直接将该数组作为INDEX的行参数传入即可,无需额外处理。
内容的提问来源于stack exchange,提问作者Argyll
相关产品推荐
相关产品推荐

