網友問到:在 Excel 裡,如何在一個 8X5 的矩陣中產生不重覆的目數?

在 8X5 的矩陣中需要 40 個不重覆的數字(1~40)。

Excel-產生8X5不重覆亂數

【設計與解析】

在設計公式前,必須先在選項的「公式」中設定:

勾選:啟用反覆運算,並設定最高次數:1000。

Excel-產生8X5不重覆亂數

1. 選取儲存格C3:J7。

2. 公式:=IF(COUNTIF($D$3:$K$7,D3)>1,RANDBETWEEN(1,40),D3)

3. 按 Ctrl+Enter 鍵。

利用 RANDBETWEEN 函數只要給予最小值和最大值,即可產生該區間的亂數。

由於亂數可能會重覆,所以先前已設定了反覆運算最高1000次。

利用 COUNTIF($D$3:$K$7,D3)>1 判斷只要儲存格範圍裡某個數超過1個,即重新取得亂數。

但是該結果在我的 Excel 版本(Office 365)中會永遠產生一個「0」,因此做了以下的修正:

公式:=IF((COUNTIF($D$16:$K$20,D16)>1)+(D16=0),RANDBETWEEN(1,40),D16)

「+(D16=0)」其中的「+」相當於執行邏輯 OR 運算。

每次要產生新的一組亂數,則:

1. 選取儲存格C3:J7。

2. 按F2鍵。

3. 按 Ctrl+Enter 鍵。


【應用練習】

這個做法可以用來由1000個單字中抽30個不重覆的單字。

選取基本1000個單字的儲存格,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:序號、單字。

儲存格A5:=IF((COUNTIF(A5:A34,A5)>1)+(A5=0),RANDBETWEEN(1,1000),A5)

儲存格B5:=XLOOKUP(A5:A34,序號,單字,,0)

產生8X5不重覆亂數


學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel 亂數
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

    vincent 發表在 痞客邦 留言(2) 人氣()