看板 Office 關於我們 聯絡資訊
軟體:Excel 版本:2003 大家好, 在Sheet1中的A1,我寫了個函數 =RANDBETWEEN(0,MAX(Sheet2!A:A)) 目前MAX(Sheet2!A:A))是141,未來還會再增加。 問題來了,我把Sheet1中A1往下拉到A80,的確A1到A80中每個儲存格都會跑 從0到MAX(Sheet2!A:A)這數字間的亂數,可是會有重覆的情況發生。 故請教 (1)我想要這些儲存格中的亂數都不會重覆,函數要怎麼寫? (2)目前我是把函數從A1拉到A80,未來不一定到A80,可能少,可能多。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.240.71 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1592824495.A.303.html
soyoso: https://i.imgur.com/MNfgcjp.jpg 類似這樣 06/22 20:09
soyoso: 有可能少或多的話,設個儲存格鍵入亂數的數量,判斷列號是 06/22 20:27
soyoso: 否在數量內,列號函數row 06/22 20:27
抱歉,可能我說的不夠仔細,所以有誤會。Sheet2的A1是0,A2是1,A3是2,…以下依序 排列。 Sheet1的A1我的函數是=RANDBETWEEN(0,MAX(Sheet2!A:A)) 然後下拉到A80。 因為Sheet2的A行全部都是整數,所以RANDBETWEEN(0,MAX(Sheet2!A:A)) 跑出來的數字 也是整數,而且會重複。 Sheet2的圖 https://imgur.com/ReQ5jiT Sheet1的圖 https://imgur.com/bN4iuGD 因為Sheet2的原本的法條順序,我想用亂數的順序,所以我Sheet1的A1寫成 RANDBETWEEN(0,MAX(Sheet2!A:A)) 後, Sheet1的B1寫成=INDEX(Sheet2!A:B,MATCH(A1,Sheet2!A:A,0),2) 這樣子我就可以得到以隨機順序排列的法條,可是結果發現Sheet1的A行的亂數會重複。 我想要的是,用隨機順序排列的法條,可是不要重覆……。 可以請您再幫我看看嗎? ※ 編輯: ddqueen (114.36.240.71 臺灣), 06/23/2020 12:29:04
soyoso: 沒有誤會啦,我回文就是在產生不重覆的整數亂數 06/23 12:32
soyoso: 回文連結內的a欄就為不重覆的部分,c欄視為輔助欄就可以 06/23 12:34
soyoso: 要應用到原po檔案的話,sheet1的a欄就以函數rank,那輔助 06/23 12:36
soyoso: 欄rand()的部分就看要設於哪欄的儲存格內,函數rank再調整 06/23 12:37
soyoso: 另外,因為亂數有要0值,rank(..)則減1 06/23 13:12
了解了,謝謝您。 ※ 編輯: ddqueen (114.36.240.71 臺灣), 06/23/2020 14:30:44