PPT免费模板下载_PPT制作教程大全_PPT幻灯片演示文稿_PPT模版网
首页 > Office教程 > office教程 > Office 365函数新世界 :SEQUENCE和RANDARRAY函数

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

时间:2021-01-17 20:57:22来源: 作者: 点击:
我们之前先后聊了UNIQUE、SORT、FILTER和XLOOKUP,本章再聊剩下两个函数:SEQUENCE和RANDARRAY。
先来说SEQUENCE,这个单词是序列的意思,顾名思义,主要作用是制作序列值数组。
它的基本语法如下:
=SEQUENCE(行数,[列数],[初始值],[步长])
第1个参数是必须的,其余均可选,均默认为1。
比如,生成1-10之间步长为1的序列数组,公式如下▼
=SEQUENCE(10)
生成10行2列初始值为1的序列数组,公式如下▼
=SEQUENCE(10,2)
生成10行2列初始值为2且步长为2的偶数序列数组,公式如下▼
=SEQUENCE(10,2,2,2)
看起来好像这函数没啥用?——单独来说,确实如此,至少不是非用不可,使用ROW和COLUMN函数完全可以代替它。不过我们前面说过,这俩函数主要是为支持动态数组运算而产生的。
我举个例子,将下图所示A列的人名,转换为N行M列,比如N行4列。
借助动态数组功能,只需要在一个单元格输入公式即可获取全部结果▼
=INDEX(A2:A100,SEQUENCE(5,4))&""
不但效率得到了极大提示,而且由于它的结果是一个数组,还可以嵌套在其它函数中继续使用。
……
然后再给大家聊一下RANDARRAY。
RAND是随机值,ARRAY是数组,两者相加,该函数的主要作用也就是生成一个随机值数组。
基本语法如下▼
=RANDARRAY([行数],[列数],[最小值],[最大值],[小数还是整数])
所有的参数都是可选的,如果省略掉所有参数,它就基本等同于RAND函数了。
举几个例子还是。
生成包含10行1列的0-1之间的随机值数组▼
=RANDARRAY(10)
生成包含10行2列的1-100之间整数型随机值数组▼
=RANDARRAY(10,2,1,100,TRUE)
看起来还是没啥用?那么还是举一个实用小案例。
如下图所示,从A列名单中,随机抽取3个人发送百万现金红包——打个响指,请领了红包又看到这篇推文的朋友自觉把红包金额上缴一半到我这,谢谢。
实现公式如下▼
=INDEX(SORTBY(A2:A14,RANDARRAY(13)),SEQUENCE(3))
RANDARRAY(13)生成13个随机值,SORTBY据此将A2:A14区域的数据随机排序,最后再使用INDEX函数取前3个即为结果。
……
再举一个稍微复杂一点的同类案例:
如下图所示,A列是一个班级的人名,现在需要把他们随机打散,拆成N行3列——这就好比现实中的考场座次安排。
C2单元格输入以下公式▼
=IFERROR(
INDEX(SORTBY(A2:A14,RANDARRAY(13)),SEQUENCE(10,3)),"")
公式看起来有点复杂,但一层层剥开并不难理解。
RANDARRAY(13)生成13个随机值,SORTBY据此将A2:A4区域的数据随机排序。
再使用SEQUENCE(10,3)函数,返回一个10行3列初始值和步长均为1的内存序列数组。
用INDEX根据序列数组按图索骥即可取出姓名;最后再使用IFERROR函数屏蔽错误值即可。
转载务必注明出处!本文地址:http://www.ppttm.com/jiaocheng/199.html

最新内容