當前位置: 妍妍網 > 辦公

幾個動態陣列公式的典型用法

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函式提取出不重復的記錄。

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

圖文制作:祝洪忠