需要修改我的脚本,以便在触发“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