作者jeffreygod ()
看板Office
標題[算表] 重複資料隨機排序,相同不相鄰
時間Mon Jun 14 16:57:41 2021
軟體: Excel
版本: 2019
https://imgur.com/lI9Rtpw
這是資料的截圖,
資料為有重複出現的英文字母,希望進行隨機排列,三個A就必須出現三次,以此類推
但是有兩個附加條件,包括特定欄位固定跟排除指定資料,以及相同不能相鄰。
不知道用函數該如何構成...
-------------------------------------------------------
希望問題有描述清楚,如果有甚麼建議給我,我會十分感謝
能有人幫忙解惑的話,更是感激萬分
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.210.169 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1623661063.A.1B2.html
2F:→ waiter337: 糟糕 有錯 我沒算數量 06/15 03:21
4F:→ waiter337: 開啟vba 的話 按下alt +f11 可以先網路查詢如何開啟vba 06/15 03:49
5F:→ waiter337: 之後上網查 如何設個按鈕 就能用了 06/15 03:50
6F:→ waiter337: Range("g2:g30").ClearContents 這行是用來清理舊的資 06/15 03:57
7F:→ waiter337: 料 如果你的資料比現在多 可以把g30 改多一點比如g300 06/15 03:57
8F:推 waiter337: 之後我在改一次 剛發現有錯 06/15 04:14
10F:→ jeffreygod: 感謝W大的回答,想不到竟然是用了VBA..以為是用函數 06/17 00:22
11F:→ jeffreygod: 可以偷學到一點東西,但是VAB整個就是沒有概念呀... 06/17 00:23
13F:→ newacc: 相同不能相鄰而已,為什麼W大你要檢查到i+2的G欄? 06/17 20:37
14F:推 waiter337: 作者後續追加 上下兩格內不相鄰 還有有多項排除 的需求 06/18 19:16
16F:→ waiter337: 補充 中間追加了z2=z2+1 與下方[h1]=z2 06/18 19:22
17F:→ waiter337: 可依照數字大小判斷運行次數 這樣比較能評估是否還有 06/18 19:22
18F:→ waiter337: 空間追加排除項目 或者要縮小排除與限定項目 06/18 19:22
19F:→ waiter337: 畢竟不知道作者原本需求的體量大小 另外 06/18 19:23
20F:→ waiter337: 另外z1 = 200000 可以自行依照電腦狀況提高或者縮小 06/18 19:23
21F:→ waiter337: 這是避免程式無法嘗試出你想要的結果而一直運算 造成 06/18 19:24
22F:→ waiter337: 系統死機 設置一個嘗試次數的上限強制中斷 06/18 19:25
23F:→ waiter337: 另外我並沒有判斷限定的項目間距 06/18 19:26
24F:→ waiter337: 但可以另外做一個程序 先檢查是否限定項目有鄰近的狀況 06/18 19:27
25F:→ waiter337: 畢竟作者可能本身限定上會有特殊需求不需保持原先規則 06/18 19:28