你看过你正在使用的数据吗?
这是您的脚本稍作修改的版本,带有一个记录器,可以查看发生了什么以及下面的日志结果。我想您会明白为什么会收到错误消息。看来您的条件简化语法并没有达到您想要的效果,是吗?
顺便说一句,这个脚本的最终目的是什么?你能解释一下这个想法吗?
如果你只想对 i 的整数值做某事,那么使用类似if(i==parseInt(i))
的东西会更容易......
function Cool() {
var h = SpreadsheetApp.getActiveSpreadsheet();
var range = 0; var count = 1; var alph = ["A", "B", "C", "D", "E",
"F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S",
"T"]; for (i = 0; i < 20; i+=0.5) {
if (i == 19 && count != 5) {
i == 0;
count += 1;
} else if (i == 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18) {
// range = h.getSheets()[0].getRange(alph[i] + count + ":" + alph[i] + count);
// SpreadsheetApp.setActiveRange(range);
Logger.log('i='+i+' '+alph[i] + count + ":" + alph[i] + count);
// randomize();
}
}
}
记录器结果:
i=0 A1:A1
i=0.5 undefined1:undefined1
i=1 B1:B1
i=1.5 undefined1:undefined1
i=2 C1:C1
i=2.5 undefined1:undefined1
i=3 D1:D1
i=3.5 undefined1:undefined1
i=4 E1:E1
i=4.5 undefined1:undefined1
i=5 F1:F1
i=5.5 undefined1:undefined1
i=6 G1:G1
i=6.5 undefined1:undefined1
i=7 H1:H1
i=7.5 undefined1:undefined1
i=8 I1:I1
i=8.5 undefined1:undefined1
i=9 J1:J1
i=9.5 undefined1:undefined1
i=10 K1:K1
i=10.5 undefined1:undefined1
i=11 L1:L1
i=11.5 undefined1:undefined1
i=12 M1:M1
i=12.5 undefined1:undefined1
i=13 N1:N1
i=13.5 undefined1:undefined1
i=14 O1:O1
i=14.5 undefined1:undefined1
i=15 P1:P1
i=15.5 undefined1:undefined1
i=16 Q1:Q1
i=16.5 undefined1:undefined1
i=17 R1:R1
i=17.5 undefined1:undefined1
i=18 S1:S1
i=18.5 undefined1:undefined1
i=19.5 undefined2:undefined2
编辑:出于好奇,我确实使用建议的语句尝试了您的代码,IF
并且得到了以下日志(更好;-)但是毫无用处,带有统一增量的简单 for 循环也会这样做...
i=0 A1:A1
i=1 B1:B1
i=2 C1:C1
i=3 D1:D1
i=4 E1:E1
i=5 F1:F1
i=6 G1:G1
i=7 H1:H1
i=8 I1:I1
i=9 J1:J1
i=10 K1:K1
i=11 L1:L1
i=12 M1:M1
i=13 N1:N1
i=14 O1:O1
i=15 P1:P1
i=16 Q1:Q1
i=17 R1:R1
i=18 S1:S1
所以问题仍然存在:最终目标是什么?