-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathrandom1-1.gs
More file actions
46 lines (39 loc) · 1.43 KB
/
random1-1.gs
File metadata and controls
46 lines (39 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function radom1_1() {
const sheet = SpreadsheetApp.getActive().getSheetByName("1-1");
const lastRow = sheet.getLastRow();
const lastColumn = sheet.getLastColumn();
const numberOfIteractions = sheet.getRange(1, 1).getValue();
let row = 3;
const firstColumn = 2;
let counter = 1;
let people = sheet.getSheetValues(row-1, 1, lastRow-1, 1)
sheet.getRange(row-1, 1, lastRow-1, 1).clear();
sheet.getRange(row-1, 1, lastRow-1, 1).setValues(shuffle(people));
for(let j = firstColumn; j <= lastColumn;j++) {
counter = sheet.getRange(row, j-1).getValue()+1;
for (let i = row; i <= lastRow; i++) {
if (counter <= numberOfIteractions){
sheet.getRange(i, j).setValue(counter++);
}else{
counter = 1;
sheet.getRange(i, j).setValue(counter++);
}
}
counter = ++row;
}
}
//https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}