今天给大家讲解好几个批量提取多行、多列的公式。
案例 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 中每一个元素所在的位置,就是所需提取的行。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.