本期列举的公式,可以在Excel 2021版本以及最新的WPS表格中使用。
1、自动增减的序号
如下图,在A2单元格输入以下公式,可以生成随着数据增加而变化的序号。
=SEQUENCE(COUNTA(B:B)-1)
COUNTA(B:B)-1部分,计算B列非空单元格的个数。减去1,得到不包含标题行在内的实际记录数。
SEQUENCE函数用于生成指定行列的序列号。本例中,生成序号的行数由COUNTA(B:B)-1的结果来指定。也就是B列有多少行数据,SEQUENCE函数就生成对应行数的序号。
2、生成随机面试顺序
如下图所示,希望将A列的10个姓名,随机生产面试顺序,也就是得到1~10的随机不重复数。
B2单元格输入以下公式,每按一次F9键,就可以得到一组随机不重复的序号:
=SORTBY(SEQUENCE(10),RANDARRAY(10))
先使用SEQUENCE(10)部分,生成1~10的序号。
再使用RANDARRAY(10),得到10个随机小数。
最后用SORTBY函数,以随机小数为排序依据,对序号进行排序处理。
每按一次F9键,RANDARRAY函数就会得到不同的随机小数,相当于给了SORTBY函数不同的排序依据。
3、随机分组
如下图所示,希望将A列的姓名随机分成4组。
C2单元格输入以下公式,每按一次F9键,就可以得到四组随机排列的名单:
=IFERROR(INDEX(SORTBY(A2:A21,RANDARRAY(20)),SEQUENCE(10,4)),"")
公式中的SORTBY(A2:A21,RANDARRAY(20))部分,先使用RANDARRAY(20)得到20个随机小数,再使用SORTBY以随机小数为排序依据对A列姓名进行随机排序。
SEQUENCE(10,4)部分用来生成10行4列的序列号。
INDEX函数根据SEQUENCE生成的序列号,从随机排序后的姓名中返回对应位置的内容。
最后,使用IFERROR函数屏蔽可能出现的错误值。