在 Excel 的工作表中有一個文字的清單(如下圖),如果想要將 A 欄和 B 欄中隨機各抽出一個字組合成一個新名字,該如何處理呢?

【輸入公式】

儲存格D2:=OFFSET($A$2,INT(RAND()*10),)&OFFSET($B$2,INT(RAND()*10),)

第一個字由 A 欄中的 10 個字要抽出一個字:

INT(RAND()*10):產生亂數整數 0~9。

OFFSET($A$2,INT(RAND()*10),):透過 OFFSET 函數取出亂數對應的儲存格。

第一個字由 B 欄中的 12 個字要抽出一個字:

INT(RAND()*10):產生亂數整數 0~11。

OFFSET($B$2,INT(RAND()*10),)::透過 OFFSET 函數取出亂數對應的儲存格。

最後,使用「&」運算子,將上述二個儲存格內容串接。

每按一下 F9 鍵,儲存格內容會自動更新內容。

如果你取得的名字是源自一些既有的姓名,想要重新亂數取得新名字,該如何處理呢?

假設取得 100 個名字,置於儲存格A1:A100。

【輸入公式】

儲存格C2:=MID(OFFSET($A$1,INT(RAND()*100),),2,1)&
MID(OFFSET($A$1,INT(RAND()*100),),3,1)

其觀念仿上述的公式,再利用 MID 函數,在第 n 個字取 m 個字(=MID(A1, n, m))的寫法。

MID(OFFSET($A$1,INT(RAND()*100),),2,1):在亂數名字的第 2 個字取 1 個字。

MID(OFFSET($A$1,INT(RAND()*100),),3,1):在亂數名字的第 3 個字取 1 個字。

arrow
arrow
    全站熱搜

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