尝试在google脚本中创建一个非常基本的功能。基本上,我想从单元格J5读取一个值并在L5中递增值,直到J5说“好!” (这将基于我的电子表格中的其他内容发生)。我似乎无法测试字符串..在运行时,代码似乎只是随机停止或永远运行(我还需要代码在它说“好!”时不触及电子表格,否则......一切都得到了自从公式再次运行后改变了。)
function makeSelections() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var testcell = ss.getRange('J5')
var testcellValue = testcell.getValue();
for (var i = 0; testcellValue != "Good!"; i++) {
ss.getRange('L5').setValue(i);
testcellValue = testcell.getValue();
}
}
编辑:正如zbnrg指出的那样,电子表格似乎太慢而无法跟上脚本。任何人都可以帮助代码检查范围(A2-A14)是否没有重复(即所有唯一条目)?
答案 0 :(得分:0)
重新计算其他内容"在电子表格中比for循环慢;您可以暂停计算并让电子表格重新计算。在for循环中包括:
Utilities.sleep(1000); //1000 milliseconds for 1 sec, 2000 for 2, etc.
Javascript:快速,Google Spreadsheet recalc:缓慢,不可预测
问题的第二部分更新
快速而肮脏的方式来随机化列表而不会烦恼于脚本:
使用= rand(),这会生成0到1之间的随机数: