Excel函數輸入隨機不重複數值


A1 單元格中輸入隨機函數
=RANDBETWEEN(1,10)
此函數將在 1 10 之間隨機提取 1 個整數。
 
A2 單元格輸入
={LARGE(IF(COUNTIF($A$1:A1,ROW($1:$10)),,ROW($1:$10)),RANDBETWEEN(1,10-ROW(A1)))}
此函數爲隨機不重複的重要部分
注:{……}這個括號是同時安Ctrl+Shift+Enter獲得的數組公式形式,無需輸入。
 
A1 單元格的隨機函數得出的值爲 8
1
COUNTIF($A$1:A1,ROW($1:$10)
部分將提示 A1 單元格數字在 ROW($1:$10) 數組即 {1;2;3;4;5;6;7;8;9;10} 中的位置。則 COUNTIF($A$1:A1,ROW($1:$10) 獲得的數組爲 {0;0;0;0;0;0;0;1;0;0}
 
2
IF(COUNTIF($A$1:A1,ROW($1:$10)),,ROW($1:$10))
部分根據以前 COUNTIF 獲得的數組,計算獲得 {1;2;3;4;5;6;7;0;9;10}
 
3
RANDBETWEEN(1,10-ROW(A1))
此時計算獲得 RANDBETWEEN(1,{10}) ,隨機產生 1 10 的數據。
 
3
LARGE(array,k)
函數此時將 IF 函數計算獲得 {1;2;3;4;5;6;7;0;9;10} RANDBETWEEN 函數獲得的隨機數代入;

按住Ctrl+Shift+Enter輸入爲數組,就獲得一個 1 10 且除 A1 單元格 8 之外的數值。

A3:A10單元格由A2拖拉公式能夠獲得。
 
A3單元格
 
相關文章
相關標籤/搜索