软件下载 点击激活 软件下载

最近坊间热议的WPS动态数组功能到底是什么?

HI,大家好,我是汪站长。

 

最近圈子里很多朋友在讨论WPS正式发布的动态数组功能,后台也有朋友留言让我们分享一篇。其实关于动态数组,在WPS发布测试版的时候我们已经很详细的分享过了,所以,摊手,这篇属于旧文重发,不过,耸肩,认真脸来说,这篇旧文依然是圈里关于动态数组最好的推文,加不加之一看你心情。

 

主要说明以下几个大家应该了解的事儿。

 

1,什么是动态数组

2,动态数组的优点是什么

3,使用时有哪些注意事项

4,从此改变编写函数的习惯


 

什么是动态数组

 

 

所谓动态数组,通俗的理解,就是将数组公式返回的多个结果,动态溢出到对应大小的单元格区域。它包含了两个要素,其一是数组公式,其二是结果动态溢出,所以叫动态数组。

 

至于什么是数组公式,咱们这里就不展开聊了,展开的话篇幅太长字数太多我怕你困觉。又或者您可以阅读我的另外一篇推文,它专门讲解了什么是数组、数组运算;什么是数组公式、区域数组公式等等▼

■万字解析什么是函数数组」

 


动态数组有哪些优点
 

 

最大的优点有两个:一个是简化函数公式的输入方式,另外一个是极大提高函数公式的计算效率。

 

 

◆ 简化了数组公式的输入方式

 

在过去WPS版本中输入数组公式,你需要同时按下<Ctrl+Shift+Enter>组合键结束公式输入,才能启用数组运算,使公式返回正确的计算结果。这三键因此又被称为数组三键
 
最近坊间热议的WPS动态数组功能到底是什么?
 
例如,上图所示的表格,按数组三键输入以下数组公式可以正确统计二班的语文总分:371分。
 
=SUM((A2:B10="二班")*(C2:C10))

 

但如果你不按数组三键,同一个公式会返回错误的结果:61分。
 
最近坊间热议的WPS动态数组功能到底是什么?
在EH论坛中,有很多表弟和表妹对这个规则不了解,就会抱怨说答贴者提供了错误的函数解法。著名函数大佬海鲜同志,在饱经摧残之后,将论坛签名修改成了下面辣眼睛的大红大绿的动图——由此你就知道这个三键规则有多么不方便。
 
最近坊间热议的WPS动态数组功能到底是什么?
而动态数组取消了三键规则,不需要按三键,绝大部分数组公式都会被默认执行数组运算(区域数组公式除外)。
 
 
除此之外,更重要的是,如果一个数组公式返回的结果是多个,在普通版本中,你可能需要嵌套其它函数逐个取值,而使用动态数组的话,它会自动将多个结果,动态溢出到公式相邻的单元格区域中。
 
举一个典型的例子。
 
最近坊间热议的WPS动态数组功能到底是什么?
 
如上图所示,A~D列是数据源,需要在F~I列查询班级名称为”二班”的数据明细。
 
在过去版本的WPS中,你需要在F2单元格输入以下公式,再复制填充到预设的合适大小的单元格区域中,例如F2:I7。
 
公式看不全可以左右拖动….
=IFERROR(  INDEX(    FILTER($A$2:$D$10,$A$2:$A$10="二班"),    ROW(A1),    COLUMN(A1)  ),"")

 

公式先使用FILTER函数筛选A列班级为二班的数据明细,返回的是3行4列的内存数组,然后使用INDEX函数按行列索引将数据一个一个提取出来,最后使用IFERROR函数将错误值屏蔽为假空。

 
公式的嵌套层次很多,更糟糕的是,当数据源数据的大小发生了改变,你可能还需要重新调整公式的输入范围,F2:I7的区域未必够用。
 
如果使用动态数组的话,在F2单元格输入以下FILTER函数就可以了,系统会自动将结果动态溢出到相邻区域。
 
=FILTER(A2:D10,  A2:A10="二班","查无")
最近坊间热议的WPS动态数组功能到底是什么?
综上,如果说之前嵌套多层的普通公式就像上个世纪老太太的裹脚布,那把现在这个动态数组比喻成清凉的洞洞鞋,不过份吧?
 
最近坊间热议的WPS动态数组功能到底是什么?
 
极大提高了函数的计算效率

我们以前一直给函数新人讲,数组的运算效率是优于大批量普通函数公式的,但一直被打脸,数组公式用多了不论WPS还是Excel都卡德斯基

最近坊间热议的WPS动态数组功能到底是什么?

事实上,数组运算的效率确实是高于大批量普通函数公式,之所以在实际应用中效率低下,是由于大家总是在每个单元格都输入数组公式,以至于每个单元格都在做重复的数组运算

 

最近坊间热议的WPS动态数组功能到底是什么?

以查询”二班”数据明细的案例来说,以下公式它在F2:I7的区域中,重复做了N次运算,每次都使用FILTER函数遍历数据源提取相关数据,然后再使用INDEX函数逐个取值。

 

=IFERROR(  INDEX(    FILTER($A$2:$D$10,$A$2:$A$10="二班"),    ROW(A1),    COLUMN(A1)  ),"")
 

如果一个数组公式只运算一次就可以获取全部结果,那就应该只计算一次,然后将结果写入相关单元格区域就可以了,为什么还要每个单元格都去做重复的数组运算呢?这样的表格功能岂不是很呆

最近坊间热议的WPS动态数组功能到底是什么?

有朋友可能会讲,传统的区域数组公式可以避免重复运算。

 

是的,区域数组可以将公式返回的多个结果一次性写入到单元格区域中,但它需要提前选中结果区域,而且这个区域是静态的,并不会随计算结果的大小自动扩展——所以区域数组公式的用法一直很冷门,属于空心大萝卜,中看不中用。

 

最近坊间热议的WPS动态数组功能到底是什么?

区域数组公式不会自动扩展▲

使用动态数组,则可以避免区域数组公式的局限。它不但可以只计算一次就返回全部计算结果,而且可以根据结果数组的大小,动态扩展范围,将结果溢出到公式相邻单元格区域中所以它不但计算效率很高,操作也很灵活

 

最近坊间热议的WPS动态数组功能到底是什么?

打个响指,认真脸,当你拥有动态数组,能用动态数组解决的问题,就尽量不使用大批量普通函数公式——这两者的计算效率有云泥之别。非常不认真的说,动态数组用的好,函数的计算效率不弱于VBA/JSA编程,简洁性当然是完胜。

 

 


 

使用动态数组注意事项

 

 

◆ 结果区域需要保持空白

 

歪兔苏芮,看我手指的方向👆,上面讲过,动态数组功能会将多个结果自动溢出到相邻的单元格区域,但前提是这些区域不存在数据,而且不属于【超级表】。如果存在非空值,动态数组会返回一个错误值#SPILL!,提示溢出区域不是空白区域——换句话说,它会动态扩张地盘,但不会强拆别人的房子。

 

最近坊间热议的WPS动态数组功能到底是什么?

 智能引用动态区域的方式

很明显,动态数组的计算结果是一个动态区域,那么,如何智能引用这个动态区域呢?难道需要使用OFFSET函数去搭建?

当然不用这么麻烦。

可以使用以下语法格式:

 

动态区域首个单元格#

 

最近坊间热议的WPS动态数组功能到底是什么?

比如,上图所示的表格,需要在G1单元格统计F3单元格动态数组查询结果的人数,可以使用公式:


=ROWS(F3#)

同样的道理,I1单元格计算总成绩,可以使用公式

 

=SUM(F3#)

 

 

取消动态数组的溢出功能

如果需要取消动态数组的溢出功能,只需要获取多个结果的首个值,可以在等号后输入运算符@

 

最近坊间热议的WPS动态数组功能到底是什么?

 

举个例子,如上图所示,输入以下公式可以返回全校总分倒数第1名的人名——大名鼎鼎小名随风小妞的罗子阳同志。

 

擒贼只擒王▼

=@SORTBY(B2:B10,C2:C10+D2:D10)

公式使用SORTBY函数对B列的人名按总分升序排序,返回的是N行1列的内存数组,再使用@运算符取首个值,也就是那个全校总分倒数第一的家伙了。
 
最近坊间热议的WPS动态数组功能到底是什么?
 
 

 

 

改变你编写函数的习惯吧

 

看我真诚的小眼神,动态数组会彻底改变人们编写函数的方式,骗你娶你不论男女。

最近坊间热议的WPS动态数组功能到底是什么?

关于这事,除了上面举过的典型的FILTER函数的案例,我再举一个同样常见的数据查询的例子,你可能就会多一点相信了。

 

最近坊间热议的WPS动态数组功能到底是什么?

如上图所示,需要根据A~E列的明细,查询G列人名对应的各科成绩。

 

以前,你需要考虑单元格各种引用的方式,在H2单元格输入以下公式,再向右向下复制填充:

 

=XLOOKUP($G2,$B:$B,C:C,"")

 

查找值需要混合引用,查找范围列需要绝对引用查找结果列需要相对引用

 

现在,不需要过多的考虑单元格的引用方式,在H2单元格输入以下动态数组,向下复制填充即可:

 

=XLOOKUP(G2,B:B,C:E,"")

但注意不能使用以下动态数组,XLOOKUP函数患有和VLOOKUP相同的毛病,不支持查找值和返回区域同时多项的情况。

 

=XLOOKUP(G2:G5,B:B,C:E,"")

……

 

啪~打个响指,正如一些朋友所了解的,动态数组并非WPS独创,微软Excel在3年前就发布了该功能——但是,在国内,由于低版本Excel充斥行业、又缺乏直接向后升级兼容的特性,以及高版本Office高昂的价格,就导致软虽然是开创者,却不是很好的普及者,3年过去了,动态数组应用者寥寥依然

 

而微软的缺点恰恰是WPS的长处(软件免费,可直接快速升级向后兼容),这也是为什么Excel圈里热烈的期待WPS即将到来的更新。我们目前确实有理由相信凭借WPS的力量可以将动态数组真正普及化,进而真正改变表格函数的编写方式和计算效率等等…

 

最近坊间热议的WPS动态数组功能到底是什么?

 

……今就聊到这吧,不知不觉字数渐涨篇幅又很长了,能看到这儿的都是爱学习的E家人呐。有啥问题咱们后续补充吧,当然,如果你是VIP会员,也可以随时在会员微信群中提问交流。来,伸出你的小手,右下角轻轻点一个赞。手,咱们下期再见了,拜拜

网络技巧:家庭宽带使用小常识,值得收藏
END
网络技巧:家庭宽带使用小常识,值得收藏

往期推荐
1. Office365/2021/2019/2016/2013/2010官方永久激活密钥(可绑定账号)
2.  软件库(软件下载)
3.  CorelDRAW 2021破解版下载&安装步骤
4.  Google Earth Pro 7.3 |(谷歌地球)安装教程
5.  最新行政区划、乡镇级、村级shp矢量地图、2022道路、水系、建筑轮廓
最近坊间热议的WPS动态数组功能到底是什么?
Office自学网公众号
最近坊间热议的WPS动态数组功能到底是什么?
Office自学网客服

打开微信扫一扫,Office自学网

专注分享软件安装和视频教程,让你一号在手,办公无忧!

给TA打赏
共{{data.count}}人
人已打赏
办公技巧

有朋友询问如何为表格隔行填充色,那就聊5毛钱的

2024-12-9 14:40:30

办公技巧

如何运行VBA代码?其实很简单

2024-12-11 14:40:17

文章版权声明 1、本网站名称:office自学网
2、本站永久网址:https://www.officezxw.com/
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ:1241926466进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索