Я бросил Excel и разработал на JavaScript.Вот код:
<html>
<style>
table td{border: 1px solid #000}
span.red{background: red;}
span.orange{background: orange;}
span.yellow{background: yellow;}
span.green{background: green;}
span.blue{background: blue;}
span.purple{background: purple;}
</style>
<body onload="populate();">
<table>
<tr><th>Inside</th><th>Outside</th><th>Break</th></tr>
<tr><td id="resultsA"></td><td id="resultsB"></td><td id="resultsC"></td></tr>
<tr><td id="resultsD"></td><td id="resultsE"></td><td id="resultsF"></td></tr>
<tr><td id="resultsG"></td><td id="resultsH"></td><td id="resultsI"></td></tr>
</table>
<script>
//DATA SHUFFLER
function shuffle(a){
for (let b = a.length - 1; b > 0; b--){
const c = Math.floor(Math.random() * (b + 1));
[a [b], a [c]] = [a [c], a[b] ];
}
return a;
}
//DATA
var results = document.getElementById("results");
//DEFINED FOR LATER USE
var inside = 8;
var outside = 8;
var rest = 8;
//DEFINE STAFF
var staff = [
"<span class='red'>01</span>",
"<span class='red'>02</span>",
"<span class='red'>03</span>",
"<span class='red'>04</span>",
"<span class='orange'>05</span>",
"<span class='orange'>06</span>",
"<span class='orange'>07</span>",
"<span class='orange'>08</span>",
"<span class='yellow'>09</span>",
"<span class='yellow'>10</span>",
"<span class='yellow'>11</span>",
"<span class='yellow'>12</span>",
"<span class='green'>13</span>",
"<span class='green'>14</span>",
"<span class='green'>15</span>",
"<span class='green'>16</span>",
"<span class='blue'>17</span>",
"<span class='blue'>18</span>",
"<span class='blue'>19</span>",
"<span class='blue'>20</span>",
"<span class='purple'>21</span>",
"<span class='purple'>22</span>",
"<span class='purple'>23</span>",
"<span class='purple'>24</span>"
];
//SHUFFLE DATA
shuffle(staff);
//SPLIT
function populate(){
//SPLIT STAFF INTO A, B AND C
var arrayA = staff.splice(0, 8);
var arrayB = staff.splice(0, 8);
var arrayC = staff.splice(0, 8);
//OUTPUT FIRST ROW
resultsA.innerHTML = arrayA;
resultsB.innerHTML = arrayB;
resultsC.innerHTML = arrayC;
//SPLIT A, B AND C INTO A1 & A2,
//B1 & B2 AND C1 & C2
var arrayA1 = arrayA.splice(0, 4);
var arrayA2 = arrayA.splice(0, 4);
var arrayB1 = arrayB.splice(0, 4);
var arrayB2 = arrayB.splice(0, 4);
var arrayC1 = arrayC.splice(0, 4);
var arrayC2 = arrayC.splice(0, 4);
//DEFINE D, E AND F
var arrayD = arrayB1 + arrayC2;
var arrayE = arrayC1 + arrayA2;
var arrayF = arrayA1 + arrayB2;
//OUTPUT SECOND ROW
resultsD.innerHTML = arrayD;
resultsE.innerHTML = arrayE;
resultsF.innerHTML = arrayF;
//DEFINE G, H AND I
var arrayG = arrayC1 + arrayB2;
var arrayH = arrayA1 + arrayC2;
var arrayI = arrayB1 + arrayA2;
//OUTPUT THIRD ROW
resultsG.innerHTML = arrayG;
resultsH.innerHTML = arrayH;
resultsI.innerHTML = arrayI;
}
</script>
</html>
Если кто-нибудь может упростить его, я был бы признателен.Спасибо, Сэм