google-apps-script - 用相同的公式覆盖随机值的公式。价值不变?
问题描述
我有一个脚本,它从工作表中选择一个随机的“模板”范围的公式,将其放入主工作表中,然后模板中的公式从其他工作表中获取随机值。我遇到的问题是setFormulas()
有时将单元格的公式“更改”为相同的公式,并且不会得到新的随机结果。我目前正在尝试先运行clearContent()
,但似乎没有任何区别。
function generate(row)
{
row = row * 3;
var templates = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("templates");
var generator = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("generator");
var range = templates.getRange(1, 1, templates.getLastRow(), 1).getValues(); //get a 2d array of the first column in the templates sheet (is there a way to get this as a 1d array?)
var cells = [];
for(i = 0; i < range.length; i++)
{
cells[i] = range[i][0]; // turn the 2d array into a 1d array
}
var end = cells.lastIndexOf(generator.getRange(2, 2).getValue()) + 3; // upper bound when getting a random template
var rand = (Math.floor(Math.random() * Math.floor(end / 3)) * 3) + 1; // random row number
var formulas = templates.getRange(rand, 1, 3, 6).getFormulas(); // get formulas from random template
generator.getRange(row, 2, 3, 6).clearContent(); // it's all gone right?
generator.getRange(row, 2, 3, 6).setFormulas(formulas); // so why is it still here?
}
我让它正常工作,然后我将“结束”从模板表的最后一行更改为基于主表中的单元格。不过,我看不出这会对setFormulas()
行为方式产生任何影响。
解决方案
推荐阅读
- windows - curl 命令在命令提示符下无法正常工作
- python - 数字识别读取图像问题。它说我的图像形状错误
- reactjs - 如何检查cookie是否在反应中发生了变化?
- payment-gateway - 为什么Payhere收不到通知
- reactjs - React native error of Check the render method of App
- mysql - 结合2个表格来计算相同类型的东西并相应地塑造一列
- tensorflow - 如何计算矩阵中变量的标准偏差
- python - 获取 powersum 问题的所有可能组合
- c# - 为什么 Rider 建议我使用解构?
- python - 不支持的操作数类型