[算表] 重複資料隨機排序,相同不相鄰

作者: jeffreygod   2021-06-14 16:57:41
軟體: Excel
版本: 2019
https://imgur.com/lI9Rtpw
這是資料的截圖,
資料為有重複出現的英文字母,希望進行隨機排列,三個A就必須出現三次,以此類推
但是有兩個附加條件,包括特定欄位固定跟排除指定資料,以及相同不能相鄰。
不知道用函數該如何構成...
作者: waiter337 (給開司一罐蘇格登)   2021-06-15 03:20:00
https://imgur.com/RdSsRck糟糕 有錯 我沒算數量https://imgur.com/H0CTFbY開啟vba 的話 按下alt +f11 可以先網路查詢如何開啟vba之後上網查 如何設個按鈕 就能用了Range("g2:g30").ClearContents 這行是用來清理舊的資料 如果你的資料比現在多 可以把g30 改多一點比如g300之後我在改一次 剛發現有錯https://imgur.com/JX11KR6
作者: jeffreygod   2021-06-17 00:22:00
感謝W大的回答,想不到竟然是用了VBA..以為是用函數可以偷學到一點東西,但是VAB整個就是沒有概念呀...
作者: waiter337 (給開司一罐蘇格登)   2021-06-17 04:24:00
https://imgur.com/Io3LCD0 後續又加了需求
作者: newacc (XD)   2021-06-17 20:37:00
相同不能相鄰而已,為什麼W大你要檢查到i+2的G欄?
作者: waiter337 (給開司一罐蘇格登)   2021-06-18 19:16:00
作者後續追加 上下兩格內不相鄰 還有有多項排除 的需求https://imgur.com/OZDX6Wh補充 中間追加了z2=z2+1 與下方[h1]=z2可依照數字大小判斷運行次數 這樣比較能評估是否還有空間追加排除項目 或者要縮小排除與限定項目畢竟不知道作者原本需求的體量大小 另外另外z1 = 200000 可以自行依照電腦狀況提高或者縮小這是避免程式無法嘗試出你想要的結果而一直運算 造成系統死機 設置一個嘗試次數的上限強制中斷另外我並沒有判斷限定的項目間距但可以另外做一個程序 先檢查是否限定項目有鄰近的狀況畢竟作者可能本身限定上會有特殊需求不需保持原先規則

Links booklink

Contact Us: admin [ a t ] ucptt.com