动态数组:一文讲透数组截取 / 删除新函数TAKE DROP

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

创作者俱乐部成员

困难如山,我有金山。

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

它们2个都是涉及数组截取/删除功能的,按照单词的字面意思记忆即可:

TAKE函数:从数组开头或结尾返回指定行或列(截取);

DROP函数:从数组开头或结尾删除行或列(删除)。

它们与上节教程讲的CHOOSEROWS和CHOOSECOLS的区别是:

CHOOSE这一组函数强调的是提取具体地“行/行们  或者  列/列们”,可以从中间任意部位开始拿

TAKE DROP这一组函数强调的是提取/删除 一片区域,从边缘部位下刀,从外侧一层一层剥洋葱,得到想要的区域范围。

让我们看一组函数的基础用法:

  1. 提取前5行、前6列;

  1. 提取表头行;

  1. 提取20-22号考生的总分。

题目①,直接利用TAKE函数的本意写法就行,从原数组的左上角开始取一定的行数和列数,类似与OFFSET函数的第4、第5可选参数,取[高度]、[宽度]功能。(蓝色区域)

题目②,直接提取第一行即可,如果我们不想数列数,可以填写任何一个大于等于9的数即可(小数也可以哦!),学弟亲测,不会出现多余空白数组占位的情况。(绿色区域)

题目③,是定义中“从结尾”的操作方法,即在参数前加负号,即可从右下角开始截取。(类似三国杀许攸,锁定技,从牌堆底部抓牌-_-b)(红色区域)

  1. 删除序号列和表头行;

  1. 删除总分列、删除10后面考生的数据。

题目④,直接利用DROP的基本功能即可,需要注意的是DROP函数默认也是从左上角开始删除的,而不是右下角!(蓝色区域)

题目⑤,是定义中“从结尾”的操作方法即在参数前加负号,即可从右下角开始删除。(绿色区域)

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

接下来学弟使用这批新上线的函数们,完成一些综合练习。

对前面讲解的函数有疑问,可以随时回翻教程。

第一题:提取11-20号考生的个人信息。(蓝色区域)

如图所示,

蓝色区域包含表头行及11-20号行,内容间断,使用CHOOSEROWS函数更加简便;

“个人信息”不包含成绩部分,因此需要截取前4列,或者删除后5列,当然也可以理解为提取第1~4列,因此,可以选用TAKE(数组,4)、DROP(数组,-5)、CHOOSECOLS(数组,SEQUENCE(4))、CHOOSECOLS(数组,1,2,3,4)等多种方法进行。

截图中的解法以TAKE函数为例进行书写,大家也可以试试其他函数。

第二题:提取所有三班男生的单科成绩。(绿色区域)

如图所示,

涉及三班、男生等筛选项,那么FILTER函数是首选;

单科成绩,即需要去除“总分”列,因此使用TAKE、DROP、CHOOSECOLS都是可以的,但如果只是“去除”“单列”,那么相比较而言,DROP的写法最为简单,直接DROP(数组,0,-1)即可,其中0代表行不做去除,-1代表从右侧反向去除1列。如果使用另外两个函数,还需要逐一去数一共有多少列,稍微花一些时间。

由于前两步未使用CHOOSEROWS函数,因此表头部分需要利用上节教程中的“第七组合”中VSTACK函数进行二者的拼接。

第三题:筛选1-10号考生所有姓名、班级和总分(蓝色部分)

如图所示,

在数组中提取(筛选)不连续的列,第一选择肯定是CHOOSECOLS;

要提取1-10号考生,最理想的函数也是TAKE。

这道题目简单易懂,可以轻松实现“横向筛选”啦。

第四题:筛选总分前20名的考生姓名,并整理成5行*4列的效果(棕色部分)

如图所示,

原始数据表并是按照序号来排列的,并不是按照名次来排列(真实情况经常如此),因此,想按照排名来进行筛选,必须用到SORTBY进行函数排序(一定升序);

使用TAKE函数进行函数提取,取前20行(前20名)和第1列(姓名列),这样就生成了一个20行1列的列向量数组;

使用WRAPROWS函数将列向量以行扫描的方式生成4行*5列的多维数组。

这道题需要注意一个细节!

大家看一下学弟选择的数组区域,是C3:K34,而并不是B2:K34,没有框选表头行和序号列。

有两点好处:

  1. 框选表头行以后,表头行会跟随SORTBY一起排序,容易增加出现的风险;

  1. 框选序号列,姓名列就会变成第2列,在TAKE提取的过程中就不能一次提取出来,增加函数的长度。

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

最后是今日文档的链接:

一文讲透TAKE DROP 新函数

https://kdocs.cn/l/csjenFCatMZB

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

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

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

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

辽宁省
浏览 2230
1
18
分享
18 +1
5
1 +1
全部评论 5
 
刘航
刘航

创作者俱乐部成员

感谢泽岩老师的分享,有学习到更高效的用法~
· 北京
1
回复
 
Mr Chen
Mr Chen

创作者俱乐部成员

学习了
· 甘肃省
1
回复
 
尹俊超
尹俊超

创作者俱乐部成员

跟着师兄学习新函数,办公效率没有高效只有更高效~
· 河南省
1
回复
 
张俊
张俊

WPS函数专家

太难了!太高深莫测了!还需要多多学习。
· 上海
回复
 
阿滨
阿滨

社区优秀创作者

我来了[嘿哈]
· 江苏
1
回复