今天给大家讲解好几个批量提取多行、多列的公式。

案例 1:

从下图 1 中左侧的数据表中找出右侧的人名对应的第 3、倒数第 6 个月的业绩。

效果如下图 2 所示。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

解决方案 1:

1. 在 AB1 单元格中输入以下公式 --> 下拉复制公式:

=XLOOKUP(AA1,A:A,CHOOSECOLS(B:Y,3,-6))

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

公式释义:

  • CHOOSECOLS(B:Y,3,-6):

    • CHOOSECOLS 函数的作用是返回数组中的指定列;

    • 语法为 CHOOSECOLS(要查找的区域,要返回的第 1 列,[要返回的第 1 列],…);

    • 公式的作用是从 B:Y 区域中提取出第 3 和倒数第 6 列;

  • XLOOKUP(AA1,A:A,...):在 A 列中查找 AA1,返回对应的上述两列,即第 3 和倒数第 6 列。

案例 2:

提取出倒数 3 行。

打开网易新闻 查看精彩图片

解决方案 2:

1. 输入以下公式 --> 回车:

=CHOOSEROWS(A2:Y13,SEQUENCE(3,,ROWS(A2:A13)-2))

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

公式释义:

  • SEQUENCE(3,,ROWS(A2:A13)-2):

    • SEQUENCE 函数的作用是生成一系列连续数字;

    • 语法为 SEQUENCE(行,[列],[开始数],[增量]);

    • 公式表示生成 3 个连续的数值,起始值为 A2:A13 区域的总行数减去 2,即倒数第 3 行;

  • CHOOSEROWS(A2:Y13,...):从区域 A2:Y13 中选出倒数 3 行。

案例 3:

提取出前 3 个人的第 1、7 和倒数第 5 个月的业绩。

打开网易新闻 查看精彩图片

解决方案 3:

1. 输入以下公式:

=CHOOSECOLS(CHOOSEROWS(A1:Y13,SEQUENCE(4)),1,2,8,-5)

打开网易新闻 查看精彩图片

公式释义:

  • CHOOSEROWS(A1:Y13,SEQUENCE(4)):从区域 A1:Y13 中提取出前 4 行;

  • CHOOSECOLS(...,1,2,8,-5):从上述区域中提取出第 1、2、8 和倒数第 5 行。

案例 4:

从下图 1 中上方的数据表中匹配出下方的行列对应的值,效果如下图 2 所示。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

解决方案 4:

输入以下公式:

=CHOOSEROWS(CHOOSECOLS(B2:Y13,MATCH(B17:D17, B1:Y1,0)),MATCH(A18:A20,A2:A13,0))

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

公式释义:

  • CHOOSECOLS(B2:Y13,MATCH(B17:D17, B1:Y1,0)):从区域 B2:Y13 中提取出第二个参数中的列;

    • MATCH(B17:D17, B1:Y1,0):将 B17:D17 中的每个元素依次与 B1:Y1 区域绝对匹配,返回结果所在的位置;这些位置就是所需提取的列号;

  • CHOOSEROWS(...,MATCH(A18:A20,A2:A13,0)):从上述区域中提取出第二个参数的行;

    • MATCH(A18:A20,A2:A13,0):从 A2:A13 中匹配出 A18:A20 中每一个元素所在的位置,就是所需提取的行。