示例:随机生成试题
题库:

结果:

代码:
function 试卷(){
var arr=Sheets("题库").Range("a2:b21").Value();
var s=rnd(8,1,arr.length);
var num=1;
var newarr=[];
for(var v of s){
newarr.push([num++,...arr[v-1]]);
//重点:通过随机出来的数字,放入到数组arr[V]中代替索引号,找到数组。
//arr[v-1]为什么要-1,是因为索引号是从0-n,随机的数字是1-n,不匹配,所以要-1。
}
Sheets("试卷").Range("a2").Resize(newarr.length,newarr[0].length).Value2=newarr;
}
function rnd(counter,start,end){
var s=new Set();
if(end-start>=counter){
while(true){
var num=WorksheetFunction.RandBetween(start,end);
s.add(num);
if(s.size==counter){break};
}
}
return [...s];
}
javascript
function 试卷(){
var arr=Sheets("题库").Range("a2:b21").Value();
var s=rnd(8,1,arr.length);
var num=1;
var newarr=[];
for(var v of s){
newarr.push([num++,...arr[v-1]]);
//重点:通过随机出来的数字,放入到数组arr[V]中代替索引号,找到数组。
//arr[v-1]为什么要-1,是因为索引号是从0-n,随机的数字是1-n,不匹配,所以要-1。
}
Sheets("试卷").Range("a2").Resize(newarr.length,newarr[0].length).Value2=newarr;
}
function rnd(counter,start,end){
var s=new Set();
if(end-start>=counter){
while(true){
var num=WorksheetFunction.RandBetween(start,end);
s.add(num);
if(s.size==counter){break};
}
}
return [...s];
}