运行 个脚本在 google 个工作表中并获得 #num!错误
running script in google sheets and getting #num! error
嘿,我正在尝试在 google 工作表中用脚本创建代码,但我得到了 #NUM!一直出错。
function Trador() {
var app =SpreadsheetApp;
var activesheet = app.getActiveSpreadsheet().getActiveSheet();
var targetsheet = app.getActiveSpreadsheet().getSheetByName("End");
var data = targetsheet.getLastRow();
targetsheet.getRange(11,10).setValue(data);
var strike;
var outcome;
var checkstrike;
var openintrest;
for (var c=2;c<=data;c++){
stike = targetsheet.getRange(c,3).getValue();
outcome = 0;
for (var b=2;b<=data;b++){
checkstrike = targetsheet.getRange(b,3).getValue();
if (strike>checkstrike){
openintrest = targetsheet.getRange(b,2).getValue(); // call
if (openintrest='-'){
openintrest=0;
}
outcome = (strike-checkstrike) * 100 * openintrest + outcome;
} else{
openintrest = targetsheet.getRange(b,5).getValue(); // put
if (openintrest='-'){
openintrest=0;
}
outcome = (checkstrike-strike) * 100 * openintrest + outcome;
}
}
targetsheet.getRange(c,9).setValue(outcome);
}
}
这是我的代码。
我知道可能我没有完整地解释我自己,但我只是不知道如何描述我正在尝试做的事情 LOL。
如果能得到任何帮助,我将不胜感激!
提前谢谢你!
最好能找出错误所在的行。记住,调试器是你的朋友。我发现了这个错误
if (openintrest='-'){
openintrest=0;
}
这是给变量分配破折号,而不是比较。试试这个:
if (openintrest == '-'){
openintrest=0;
}
这在脚本中出现了两次。
此外,另一个变量错字
stike = targetsheet.getRange(c,3).getValue();
假设是
strike = targetsheet.getRange(c,3).getValue();
很酷的是 Google 最近更新了脚本编辑器,因此它可以在我们键入时自动完成,还显示变量并没有被不同地使用。
在这种情况下,不使用活动表。
嘿,我正在尝试在 google 工作表中用脚本创建代码,但我得到了 #NUM!一直出错。
function Trador() {
var app =SpreadsheetApp;
var activesheet = app.getActiveSpreadsheet().getActiveSheet();
var targetsheet = app.getActiveSpreadsheet().getSheetByName("End");
var data = targetsheet.getLastRow();
targetsheet.getRange(11,10).setValue(data);
var strike;
var outcome;
var checkstrike;
var openintrest;
for (var c=2;c<=data;c++){
stike = targetsheet.getRange(c,3).getValue();
outcome = 0;
for (var b=2;b<=data;b++){
checkstrike = targetsheet.getRange(b,3).getValue();
if (strike>checkstrike){
openintrest = targetsheet.getRange(b,2).getValue(); // call
if (openintrest='-'){
openintrest=0;
}
outcome = (strike-checkstrike) * 100 * openintrest + outcome;
} else{
openintrest = targetsheet.getRange(b,5).getValue(); // put
if (openintrest='-'){
openintrest=0;
}
outcome = (checkstrike-strike) * 100 * openintrest + outcome;
}
}
targetsheet.getRange(c,9).setValue(outcome);
}
}
这是我的代码。 我知道可能我没有完整地解释我自己,但我只是不知道如何描述我正在尝试做的事情 LOL。
如果能得到任何帮助,我将不胜感激! 提前谢谢你!
最好能找出错误所在的行。记住,调试器是你的朋友。我发现了这个错误
if (openintrest='-'){
openintrest=0;
}
这是给变量分配破折号,而不是比较。试试这个:
if (openintrest == '-'){
openintrest=0;
}
这在脚本中出现了两次。
此外,另一个变量错字
stike = targetsheet.getRange(c,3).getValue();
假设是
strike = targetsheet.getRange(c,3).getValue();
很酷的是 Google 最近更新了脚本编辑器,因此它可以在我们键入时自动完成,还显示变量并没有被不同地使用。
在这种情况下,不使用活动表。