当前位置: 欣欣网 > 办公

几个动态数组公式的典型用法

2024-02-26办公

小伙伴们好啊,今天和大家分享几个动态数组公式的典型用法。这些公式可以在Excel 2021以及最新的WPS表格中使用。只需输入一个公式,即可得到由多个元素构成的计算结果。

1、指定范围的随机不重复数

如下图,要根据A列的姓名,生成随机面试顺序。

B2单元格输入以下公式:

=SORTBY(SEQUENCE(12),RANDARRAY(12))

先使用SEQUENCE(12)生成1~12的连续序号。

再使用RANDARRAY(12)生成12个随机小数。

最后使用SORTBY函数,以随机小数为排序依据,对序号进行排序。

2、随机排序

如下图,希望对A列的应聘人员随机安排面试顺序。

先将标题复制到右侧的空白单元格内,然后在第一个标题下方输入公式:

=SORTBY(A2:B11,RANDARRAY(10),1)

RANDARRAY的作用是生成随机数数组,本例公式使用RANDARRAY(10),表示生成10个随机数的数组。

SORTBY函数的排序区域为A2:B11单元格中的数据,排序依据是按随机数数组升序排序。因为公式每次刷新所生成的随机数数组是不确定的,所以A2:B11单元格中的数据也会得到随机的排序效果。

3、自动增减的序号

如下图,在A2单元格输入以下公式,可以生成随着数据增加而变化的序号。

=SEQUENCE(COUNTA(B:B)-1)

COUNTA(B:B)-1部分,计算B列非空单元格的个数。减去1,得到不包含标题行在内的实际记录数。

SEQUENCE函数用于生成指定行列的序列号。本例中,生成序号的行数由COUNTA(B:B)-1的结果来指定。也就是B列有多少行数据,SEQUENCE函数就生成对应行数的序号。

4、随机分组

如下图所示,希望将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函数屏蔽可能出现的错误值。

5、在多列姓名中提取人员名单

如下图所示,需要从B~F列的值班名单中提取出员工名单。

H2单元格输入以下公式:

=UNIQUE(TOCOL(B2:F7,1))

首先使用TOCOL函数将B2:F7中的姓名转换为一列,TOCOL函数的第二参数使用1,表示忽略空白单元格。目前该函数仅支持Excel 365和最新版WPS表格用户使用。

接下来使用UNIQUE函数提取出不重复的记录。

6、按条件提取不重复记录

如下图所示,希望从左侧的值班名单中提取出「A区」的不重复记录。

F2单元格输入以下公式。

=UNIQUE(FILTER(C2:C14,A2:A14="A区"))

首先使用FILTER函数,筛选出所有A区的值班经理名单,再使用UNIQUE函数提取出不重复的记录。

今天的内容就是这些吧,祝各位一天好心情~~

图文制作:祝洪忠