需要修改我的腳本,以便在觸發「myFill」函數時,不會重複從範圍生成的隨機值。範圍目前有32個值 - 但每次觸發時只需要5個非重複值。這些值可以在下次觸發功能時再次包含。範圍內的非重複隨機值
附加鏈接。
作爲一個概述,下面的腳本用於在與一起選擇這些公式在電子表格上
Cell B2 =myFill(1,5,"H2:H33",J18)
Cell B3 =iferror(ArrayFormula(vlookup(B2,$H$2:$I$33,2,0)))
Appscript:
function tst(){
var rows = 1
var cols = 5
var range = "H2:H33"
myFill(rows, cols, range)
}
function myFill(rows, columns, range) {
var ss= SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
Logger.log(rows)
Logger.log(columns)
Logger.log(range)
var rng = sheet.getRange(range).getValues()
var output1 = [], l = rng.length;
for(var i=0; i<rows; i++) {
var output2 = [];
for(var j=0; j<columns; j++) {
output2.push(rng[Math.floor(Math.random() * l)][0]);
}
output1.push(output2);
}
return output1;
}
感謝你們倆。我只在我的實際工作表上測試了Jag的修正案,並且已根據需要進行工作,因此我已經完成了該工作。再次感謝。 – MJM