Office 365函数新世界 :SEQUENCE和RANDARRAY函数

我们之前先后聊了UNIQUE、SORT、FILTER和XLOOKUP,本章再聊剩下两个函数:SEQUENCE和RANDARRAY。
先来说SEQUENCE,这个单词是序列的意思,顾名思义,主要作用是制作序列值数组。
它的基本语法如下:
=SEQUENCE(行数,[列数],[初始值],[步长])
第1个参数是必须的,其余均可选,均默认为1。
比如,生成1-10之间步长为1的序列数组,公式如下▼
=SEQUENCE(10)

Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图
生成10行2列初始值为1的序列数组,公式如下▼
=SEQUENCE(10,2)
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(1)
生成10行2列初始值为2且步长为2的偶数序列数组,公式如下▼
=SEQUENCE(10,2,2,2)
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(2)

看起来好像这函数没啥用?——单独来说,确实如此,至少不是非用不可,使用ROW和COLUMN函数完全可以代替它。不过我们前面说过,这俩函数主要是为支持动态数组运算而产生的。
我举个例子,将下图所示A列的人名,转换为N行M列,比如N行4列。
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(3)

借助动态数组功能,只需要在一个单元格输入公式即可获取全部结果▼
=INDEX(A2:A100,SEQUENCE(5,4))&””
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(4)
不但效率得到了极大提示,而且由于它的结果是一个数组,还可以嵌套在其它函数中继续使用。
……
然后再给大家聊一下RANDARRAY。
RAND是随机值,ARRAY是数组,两者相加,该函数的主要作用也就是生成一个随机值数组。
基本语法如下▼
=RANDARRAY([行数],[列数],[最小值],[最大值],[小数还是整数])
所有的参数都是可选的,如果省略掉所有参数,它就基本等同于RAND函数了。
举几个例子还是。
生成包含10行1列的0-1之间的随机值数组▼
=RANDARRAY(10)
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(5)
生成包含10行2列1-100之间整数型随机值数组
=RANDARRAY(10,2,1,100,TRUE)
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(6)
看起来还是没啥用?那么还是举一个实用小案例。
如下图所示,从A列名单中,随机抽取3个人发送百万现金红包——打个响指,请领了红包又看到这篇推文的朋友自觉把红包金额上缴一半到我这,谢谢。
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(7)
实现公式如下▼
=INDEX(SORTBY(A2:A14,RANDARRAY(13)),SEQUENCE(3))
RANDARRAY(13)生成13个随机值,SORTBY据此将A2:A14区域的数据随机排序,最后再使用INDEX函数取前3个即为结果。
……
再举一个稍微复杂一点的同类案例:
如下图所示,A列是一个班级的人名,现在需要把他们随机打散,拆成N行3列——这就好比现实中的考场座次安排。
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(8)
C2单元格输入以下公式▼
=IFERROR(
INDEX(SORTBY(A2:A14,RANDARRAY(13)),SEQUENCE(10,3)),””)
公式看起来有点复杂,但一层层剥开并不难理解。
RANDARRAY(13)生成13个随机值,SORTBY据此将A2:A4区域的数据随机排序。
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(9)

再使用SEQUENCE(10,3)函数,返回一个10行3列初始值和步长均为1的内存序列数组。
Office 365函数新世界 :SEQUENCE和RANDARRAY函数插图(10)

用INDEX根据序列数组按图索骥即可取出姓名;最后再使用IFERROR函数屏蔽错误值即可。
……
打个响指,本章结束后我们365函数系列的图文教程就算告一段落了。等到LET函数正式发布时,我们再详细聊一下如何使用LET函数实现编程中变量式的编程,这会让函数短、快、灵的特点发挥的淋漓尽致。

图文制作:看见星光
原载:Excel星球
图片部分来自网络,如有侵权请联系QQ897219494,或者发布邮箱[email protected]
技能大全,高效工具 » Office 365函数新世界 :SEQUENCE和RANDARRAY函数

发表评论

提供最优质的资源集合

立即查看 了解详情