自動產生唯一編號,不重複

自動產生唯一編號,不重複

如果其中 1 列固定為我想要的數字,而另一列隨機產生不在第一列的數字,如何自動產生數字?我不想要任何重複的。

例如:我需要將 1-10 自動產生為 2 列。 A欄(固定數量)

1
3
4
5
6

B 列(隨機數)

產生沒有出現在 A 列的內容?

B 列應有 2、7、8、9、10。

使用這個公式,我可以為從 1 - 10 的 2 列產生唯一的數字,但現在如果我想修復第一列,我應該如何編碼以確保第二列中的數字不會與 A 列重複?

=IF(ROW()-ROW(P$3)+1>$A$3/2,"",RANK(OFFSET($B$3,ROW()-ROW(P$3)+(COLUMN()-COLUMN($P3))*($A$3/2),),$B$3:INDEX($B$3:$B$1002,$A$3)))

這兩個欄位的目的是讓我在當前會話和下一個會話之間進行比較。我正在考慮生成隨機數字並使用 INDEX 來檢索名稱,但首先我需要獲取單獨行中的數字,並且不要重複。

Col B/C/D 相當於人員資訊。

A 上校,我可以手動輸入將影響 L/M/N 上校的人員總數。如果我有10名人員,L列將根據5組變化,M和N列將根據5組變化。

現在,使用我的公式,我可以根據我在 A 列中插入的內容(即 20)自動洗牌 M 列和 N 列的數字。

我遇到的問題是對 M 上的數字進行隨機播放,而不會重複 N 列中出現的數字。

隨機/隨機播放 10 個數字只是一個範例。清單可以減少到超過 50 個。

檢查我的螢幕截圖

答案1

首先,您需要將B 列的隨機數寫入新的H 列中,例如(H1=2,H3=9...H5=7),將A 列保留為您的選擇,將B 列保留為生成的數字。
在 I1 中寫入 =Rand() 並將其向下拖曳到 J1 中具有隨機數 <0 的 5 行,
寫入以下公式對 I 列的 Rand() 數字進行排名:
=RANK(I1,$I$1:$I$5,0)
將其拖曳到J5 您將有5 個介於1 和5 之間的數字
在B1中寫入:
=OFFSET($H$1,J1-1,0)
並向下拖曳到B5,您將隨機獲得剩餘的5個唯一數字。
更新
您可以將公式 Rank 和 Offset 組合在一起並在 B1 中寫入:
`=OFFSET($H$1,RANK(I1,$I$1:$I$5,0)-1,0)'
請注意,Rank 適用於Rand()在 I 列中,而不是在數字所在的 H 列。

在此輸入影像描述

相關內容