// Fisher–Yates Shuffle 알고리즘으로 데이터 섞기 for (var i = maleData.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var temp = maleData[i]; maleData[i] = maleData[j]; maleData[j] = temp; }
// C5:C14 범위에 배치 (나머지는 빈칸으로 채움) var targetRange = sheet.getRange("C5:C14"); var output = []; for (var k = 0; k < targetRange.getNumRows(); k++) { output.push([maleData[k] || ""]); }
targetRange.setValues(output); } 이코드로 했는데, 시트에서 실행이 안되요.
댓글 1개
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// 남학생 데이터 가져오기 (E5:E14)
var sourceRange = sheet.getRange("E5:E14");
var maleData = sourceRange.getValues();
// 배열에서 null/빈 값 제거
maleData = maleData.filter(function(row) {
return row[0] !== "" && row[0] !== null;
});
// Fisher–Yates Shuffle 알고리즘으로 데이터 섞기
for (var i = maleData.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = maleData[i];
maleData[i] = maleData[j];
maleData[j] = temp;
}
// C5:C14 범위에 배치 (나머지는 빈칸으로 채움)
var targetRange = sheet.getRange("C5:C14");
var output = [];
for (var k = 0; k < targetRange.getNumRows(); k++) {
output.push([maleData[k] || ""]);
}
targetRange.setValues(output);
}
이코드로 했는데, 시트에서 실행이 안되요.