[算表] 隨機亂數不重覆的函數寫法

看板Office作者 (呼~呼~叔叔覺得妳好可愛~)時間5年前 (2020/06/22 19:14), 5年前編輯推噓0(008)
留言8則, 1人參與, 5年前最新討論串1/1
軟體: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

06/22 20:09, 5年前 , 1F
06/22 20:09, 1F

06/22 20:27, 5年前 , 2F
有可能少或多的話,設個儲存格鍵入亂數的數量,判斷列號是
06/22 20:27, 2F

06/22 20:27, 5年前 , 3F
否在數量內,列號函數row
06/22 20:27, 3F
抱歉,可能我說的不夠仔細,所以有誤會。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

06/23 12:32, 5年前 , 4F
沒有誤會啦,我回文就是在產生不重覆的整數亂數
06/23 12:32, 4F

06/23 12:34, 5年前 , 5F
回文連結內的a欄就為不重覆的部分,c欄視為輔助欄就可以
06/23 12:34, 5F

06/23 12:36, 5年前 , 6F
要應用到原po檔案的話,sheet1的a欄就以函數rank,那輔助
06/23 12:36, 6F

06/23 12:37, 5年前 , 7F
欄rand()的部分就看要設於哪欄的儲存格內,函數rank再調整
06/23 12:37, 7F

06/23 13:12, 5年前 , 8F
另外,因為亂數有要0值,rank(..)則減1
06/23 13:12, 8F
了解了,謝謝您。 ※ 編輯: ddqueen (114.36.240.71 臺灣), 06/23/2020 14:30:44
文章代碼(AID): #1Uy9AlC3 (Office)
文章代碼(AID): #1Uy9AlC3 (Office)