1、先选择需要的区域,比如A1:E5,调整成5*5的方格,设置为打印区域。2、在区域外的格子中比如比如G1开始输入 =RAND() 然后往下拉25行。3、在需要的区域,比如A1:E5,分别输入 =RANK(G1,$G$1:$G$25) 其中G1分别换成G2、G3直到G25即可。说明:每次任意点击都会改变单元格中的内容 ...出现错误的几率几乎没有,如果不放心,可以增加一个验证单元格,里面输入如下内容:=IF(SUM(A1:E5)=325,"表格正确","有错误,单击重新生成")假设结果生成后显示在a1:e5单元格区域,鼠标右击工作表标签,选择“查看代码”,输入如下代码:sub 生成舒尔特方格() dim i, j, k as integer dim x(25) as integer for i = 1 to 25 x(i) = (25 - 1) * rnd() + 1 do while worksheetfunction.countif(range(cells(1, 256), cells(i, 256)), x(i)) > 0 x(i) = (25 - 1) * rnd() + 1 loop cells(i, 256) = x(i) next k = 0 for i = 1 to 5 for j = 1 to 5 k = k + 1 cells(i, j) = x(k) next nextend sub将宏安全性设为中,重新启动文档后选择启用宏即可。只要运行宏“生成舒尔特方格”,就可得到不同组合的舒尔特5*5的表格。你还可以通过视图——工具栏——窗体,打开窗体工具栏,插入一个按钮用于运行该宏,这样平时只要按下这个按钮,瞬间可以得到不同组合的舒尔特方格。我做了一个,假如你需要的话,留下联系方式,发给你。