[算表] 重复资料随机排序,相同不相邻

楼主: 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