Javascript 如何在“上”生成列表;第A页“;从数据上看「;表B“;在Google工作表中使用脚本
我在Google Sheets的一张工作表上列出了大约3000个名字、姓氏和其他项目。该表的名称为“数据库”(链接如下) 我想创建一个脚本,从“数据库”中的每列中随机抽取100个条目,并填充另一个名为“结果”的工作表中的单元格 所以,基本上,“结果”中的第1列将从“数据库”中的第1列中获取100个随机结果。“结果”中的第2列将从“数据库”中的第2列中获取100个随机结果。以此类推。理想情况下,可以通过将脚本分配给工作表上的按钮来重新生成,而不是使用每次执行操作时都会创建新结果的公式 最终,我将得到大约10列,但我现在使用测试数据只是为了构建结构。这是我正在使用的测试文档的链接 非常感谢你的帮助 您可以尝试以下方法: 先决条件: 应该添加到项目中Javascript 如何在“上”生成列表;第A页“;从数据上看「;表B“;在Google工作表中使用脚本,javascript,google-sheets,Javascript,Google Sheets,我在Google Sheets的一张工作表上列出了大约3000个名字、姓氏和其他项目。该表的名称为“数据库”(链接如下) 我想创建一个脚本,从“数据库”中的每列中随机抽取100个条目,并填充另一个名为“结果”的工作表中的单元格 所以,基本上,“结果”中的第1列将从“数据库”中的第1列中获取100个随机结果。“结果”中的第2列将从“数据库”中的第2列中获取100个随机结果。以此类推。理想情况下,可以通过将脚本分配给工作表上的按钮来重新生成,而不是使用每次执行操作时都会创建新结果的公式 最终,我将得
//Load LodashGS:
var _ = LodashGS.load();
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var resultSheet = ss.getSheetByName("Results");
var dBSheet = ss.getSheetByName("Database");
//Loop all columns in Database Sheet
for (var col = 1; col <= dBSheet.getLastColumn() ; col++){
//Generate an array of unique numbers from 2 to the last row number of the Database Sheet
const uniqRandomNumbers = _.sampleSize(_.range(2,dBSheet.getLastRow() + 1), 100);
Logger.log(uniqRandomNumbers);
var rowValues = [];
//Get the cell value based on the uniqRandomNumbers as row index, create a 2-d array of row values
uniqRandomNumbers.forEach(row=>{rowValues.push([dBSheet.getRange(row,col).getValue()]);});
//Write the row values into the Results Sheet with 100 row entries
resultSheet.getRange(2,col,100).setValues(rowValues);
Logger.log(rowValues);
}
}
//加载LodashGS:
var=LodashGS.load();
函数myFunction(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var resultSheet=ss.getSheetByName(“结果”);
var dBSheet=ss.getSheetByName(“数据库”);
//循环数据库工作表中的所有列
for(var col=1;col{rowValues.push([dBSheet.getRange(row,col.getValue());});
//将行值写入包含100行条目的结果表
结果表.getRange(2,col,100).setValues(rowValues);
Logger.log(行值);
}
}
它的作用是什么?
(这是为每列完成的)
中提供的范围生成一个唯一数字数组。我们将使用这个唯一的数组号作为行索引
您能提供您为解决问题而编写的代码吗?您好,我不是开发人员,所以我一直在寻找有类似问题的人。这篇文章解决了一个类似的问题,但它只是从数据集中填充了一个单元格。我想填100行。我试着修改剧本,但这不是我自己能弄明白的:非常感谢!这非常有效。另外,我非常感谢您在代码中留下注释,并解释一切是如何工作的。这非常有帮助。再次感谢你的帮助。祝你一切顺利!没问题,很高兴我能帮忙。请有时间阅读此参考资料,谢谢。