如上图excel表格所示,我想在A2至E25范围内随机生成整数1,每一列的数字和为最下方26列数字(如第一列和为9,第二列和为5),且每行只有一个数字1。这个可以通过什么excel程序实现吗?求详细代码和步骤
还有缺陷。勉强用吧。若想完美,找VB老师吧。
按F9键随机生成数据。
F2=RAND()
G2RANK(F2,$F$2:$F$25)
两公式下拉至第25行。若为美观计,这部分内容可以隐藏或者字体设为无色。
A2=IF(INDEX({1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0},G2)=1,1,"")
E2=IF(SUM($A2:D2)=1,"",1)
两公式下拉至第25行。
B2=IF(OR(ROUND(RAND()*1,0)=0,SUM($A2:A2)=1),"",1)复制到C2
B3=IF(OR(SUM(B$2:B2)=B$26,SUM($A3:A3)=1,ROUND(RAND()*1,0)),"",1)复制到蓝色区域。
A27=SUM(A2:A25)复制到E列
偶有27数值行不等于26行对应单元格数值的情况,这是不符合要求的,可以用条件格式设置警示。
遇到这种情况,继续按F9键跳过。