动态数组:一文讲透数组提取新函数CHOOSEROWS CHOOSECOLS

清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

困难如山,我有金山。

欢迎收看本期动态数组专题,一起聊聊WPS最新16120版本更新函数:CHOOSEROWS CHOOSECOLS。

它们2个都是涉及数组提取功能的,非常相似也非常好记:

由于CHOOSE的含义是“选择”,因此:

CHOOSEROWS意为在数组中提取行(们);

CHOOSECOLS意为在数组中提取列(们)。

我们来看一组考生成绩单的案例:

现在需要在左侧汇总表上直接提取2号考生的信息,那么只需输入:

=CHOOSEROWS(B2:J34,1,3)  即可

其中1为表头行,3为2号考生行。

CHOOSEROWS支持多选,中间用英文,依次隔开即可。

同理,也可以提取多个行,如2,12,14,18号考生。

也可以提取连续行,如20-25号考生。

可以使用SEQUENCE函数生成序列,也可以使用ROW(20:25)+1,亦可以手工录入1,21,22,23,24,25,26。

结论:

CHOOSEROWS可以连续、不连续提取数组内任意数量的行,并能一次性生成所有提取结果,结果以动态数组的形式呈现。

任意数量、一次性,都是这个函数的独特优势。

同理,我们可以对CHOOSECOLS函数进行科目的提取:

原理和优点都是一模一样的,学弟就不再赘述了。

----(我是可爱的分割线)----

讲到这里,本节教程貌似已经结束了,但学弟突然发现,好多我们熟悉的老函数(或函数组合)也能实现数组提取的功能,那么我们就仿照之前《一文讲透文本拼接》教程的方法,用PK的方式看一看大家的表现:

题目很简单,还是这个案例,提取序号为10-12考生的全部成绩(包含表头)。满分为3分。

首先是国民度最高的平民查找神器VLOOKUP

VLOOKUP因需要锁定+拖拽、需要额外输入表头,只能得到1分。

同时,VLOOKUP不支持非连续的查找值,因此不能获得附加分。

第二位出场的是VLOOKUP的高阶版本XLOOKUP

XLOOKUP因需要锁定+拖拽、需要额外输入表头,只能得到1分。

同时,XLOOKUP不支持非连续的查找值,因此不能获得附加分。

(备注:XLOOKUP与VLOOKUP相比的两大优势:反向查找 和 多条件(且)查找,在本例中,恰恰无用武之地:本例序号在最左侧,如果是换成查找姓名列,会体现出又是;多行提取,是“或”的关系,XLOOKUP只能表示“且”。)

第三位出场的是VLOOKUP函数的另一款平替:INDEX+MATCH经典组合

遗憾的是,INDEX+MATCH同样需要锁定+拖拽、需要额外输入表头,只能得到1分。

同时,INDEX+MATCH不支持非连续的查找值,因此不能获得附加分。

第四位由INDEX动态数组单独出场,我们来看一下它的表现:

INDEX函数的动态数组写法,恰恰可以规定行范围和列范围,因此可以返回一个动态数组区域。

但同样需要额外输入表头,可以得到2分。

正因为如此,说明了INDEX函数不支持非连续的查找值,因此不能获得附加分。

第五位是菁培班函数神器OFFSET

OFFSET函数同样可以返回一个区域,这时候需要设定它的两个非必须参数[高度]和[宽度];

但同样需要额外输入表头,可以得到2分。

正因为如此,说明了OFFSET函数不支持非连续的查找值,因此不能获得附加分。

其实大家也发现了,

但凡参数为“查找值”的,就只支持单一ROW或者连续ROW(10:12),这种模式就必须单独录入表头。也就证明不支持非连续多选行。

因此,只有使用CHOOSEROWS/COLS函数这种支持并列参数的函数才可以。

第六位出场的就是CHOOSEROWS本案)函数啦:

干净利落。

一个轻描淡写的参数“1,”就解决了表头的问题,后面还能直接提取整行,无需拖拽,全取3分。还能支持任意不规则数组的选取,再给一个附加分0.5分吧!

还有哪位挑战者?

前方走来一队组合。

第七位出场的是这一批的新人组合:VSTACK+TAKE+DROP,后两位的教程学弟还没有做呢。

它们要玩出怎样的火花?

这段函数的意思是:

第二行,用TAKE函数,提取整个数组的第一行;(即为表头所在区域)

第三行,先用TAKE函数,提取整个数组的前13行,再用DROP函数,把前10行删除,即达到从尾部提取后三行的效果(即为序号为10-12的考生区域);

第一行,使用VSTACK函数将两块数组拼接成一块。(也可以不同这个函数,在不同的地方写两次函数,以两个动态数组重叠在一起的形式呈现)

这个方法,如此动人的走位!

首先,一步到位+无需锁定、拖拽+自动包含表头,全取3分稳了!

但是,这个方法有趣归有趣,当提取不连续的数组时,这个方法也能做,就是特别麻烦,每多一个不连续的序号,就多一组DROP+TAKE,便捷度上远不如CHOOSEROWS,不能获得附加分。

因此,特别适合WPS社区创作者俱乐部、动态数组先遣队、菁培班的各路独孤求败大神们消遣玩耍使用~

成绩单公布!

3.5分  CHOOSEROWS

3分   VSTACK+TAKE+DROP

2分   INDEX动态数组

2分   OFFSET

1分   XLOOKUP

1分   VLOOKUP

1分   INDEX+MATCH

如有其他有趣方法,欢迎大佬们在评论区补充,让大家一起开开眼界吧!

----(我是可爱的分割线)----

最后是今日文档的链接:

一文讲透CHOOSEROWS CHOOSECOLS新函数

https://kdocs.cn/l/cnwgzP1jizH7

如果你觉得今天的教程对你有帮助,欢迎在下方为我点一颗小红心💖💖💖哦!

同时,你也可以将感悟或者收获在下方留言,或者在评论区留下你的困惑,我会挑选有代表性的问题,推出更多的教程跟大家分享哦!

>>>欢迎收看【清华学弟任泽岩】WPS社区个人帖子合集<<<

https://home.wps.cn/topic/14780?chan=share&amp;fromshare=copylink

辽宁省
浏览 2029
收藏
15
分享
15 +1
7
+1
全部评论 7
 
任泽岩
感谢大家的支持!
· 辽宁
回复
 
波波狗
波波狗

创作者俱乐部成员

来了来了
· 安徽省
1
回复
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

感谢支持!
· 辽宁省
1
回复
 
uibpqds
受教了
· 河南省
1
回复
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

感谢支持!
· 辽宁省
回复
 
邓华
邓华

WPS函数专家

太棒了
· 广东省
1
回复
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

还差3个函数的教程,近日更新!
· 辽宁省
回复