在 Excel 中,如果想要產生多個範圍的亂數,例如:產生1~40, 101~140, 200~240的亂數,該如何處理?
因為這是三組範圍為0~40的亂數,試試以下公式:
(1) 儲存格B2:{=LARGE(ROW($1:$40)+{0,100,200},INT(RAND()*120+1))}
或
(2) 儲存格B2:{=SMALL(ROW($1:$40)+{0,100,200},INT(RAND()*120+1))}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵。將儲存格B2複製到儲存格B2:F4。
ROW($1:$40)+{0,100,200}:產生1~40, 101~140, 200~240的數值。
INT(RAND()*120+1)):產生1~120的亂數(40+40+40=120)。
公式(1) =LARGE({1,101,201;2,102,202; 3,103,203; … ; 40,140,240},亂數值)
透過LARGE函數,可由亂數值抓取其中一個數值。
利用相同原理,如果要產生a~z, A~Z的隨機亂數字母,該如何處理?
儲存格B6:{=CHAR(LARGE(ROW($1:$26)+{64,96},INT(RAND()*52+1)))}
或
儲存格B6:{=CHAR(SMALL(ROW($1:$26)+{64,96},INT(RAND()*52+1)))}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵。將儲存格B6複製到儲存格B6:F8。
ROW($1:$26)+{64,96}:因為A的ASCII碼為65、a的ASCII碼為97,所以先產生65~90和97~122的數字。
LARGE(ROW($1:$26)+{64,96},INT(RAND()*52+1):可以隨機抓取52個字母中的其中一個。
透過CHAR函數,可以將ASCII碼轉成字元。
留言列表