我正在处理一个在两个不同工作表之间交叉引用的工作表。它工作正常,但每张纸大约有10,000个条目,因此要进行大量检查。检查整个过程大约需要半小时。可以,用于初始检查。
话虽这么说,我每周只在表中添加新条目,因此不需要检查整个内容。我想我知道该怎么做,但我不确定该怎么写。
我的循环当前如下所示:
for (var i = 1; i < data1.length; i++) {
for (var j = 1; j < data2.length; j++) {
....
我猜想这样做的方法是创建一个变量,用该变量替换1
,然后让用户输入该变量。我可以用两种不同的方法来做,我可以从工作表中的一个单元格中调用它(这不理想),或者可以在脚本执行之前弹出一个弹出窗口,允许用户输入数字。
我对JavaScript不太熟悉,我上了一两节课,但我真的不知道该怎么做。有人可以帮我吗?我确定我也需要截断和清理我的输入内容,以防万一,我也不知道该怎么做。
编辑:在弄乱了一点之后,我添加了
var j = Browser.inputBox('Enter the number of the row to start on:')
(理论上)这应该起作用,但是由于某种原因,如果我这样做,我总是以0个结果结束,我不确定为什么。我想我会把它弄得更乱。
答案 0 :(得分:0)
我认为问题在于您正在内部For循环中重新声明j,这实际上抵消了您从用户输入中获得的值。下面的代码似乎可以完成您想要实现的目标。尽管这是非常基本的操作,并且可以接受大于20的输入,但不会导致任何内部循环迭代。希望这会有所帮助。
干杯!
var input = Browser.inputBox("Enter row number:");
for (var i = 1; i<5; i++) {
Logger.log("i = "+i);
for (var j = input; j<20; j++) {
Logger.log("j = "+j);
}
}