我编写了这个简单的函数,只有当某个东西在另一个工作表单元格的A1中时才会在A1单元格中返回值。我不知道我在这里做错了什么。它没有错误,但仍然无法完成这项工作。
function check() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh1 = ss.getSheetByName("downloader");
var sh2 = ss.getSheetByName("data");
var dataina1 = sh1.getRange('A1');
if (dataina1 = 5) {
sh2.getRange('B1').setValue("Five");
}
}
答案 0 :(得分:1)
使用相等运算符代替赋值运算符:
if (dataina1 == 5)
如果您只使用一个=
,那么您要将值5
分配给dataina1
。
答案 1 :(得分:0)
我修改了我的脚本:
这样更好
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ss = SpreadsheetApp.openById("1w-rEm7BcUUnUBcB3kSQX9A0CzryQvkD32UDwA8Eo2FY");
var sh1 = ss.getSheetByName("downloader");
// IN THE COLUMN A1 = 5
var value = sh1.getRange('A1').getValues();
Logger.log("value of the spreadsheet => "+value);
if (value == "5") {
sh1.getRange('B1').setValue("Five");
}
else{
sh1.getRange('B1').setValue("NOT GOOD");
}
}
日志:
[15-04-29 18:21:42:669 CEST] value of the spreadsheet => 5
它的工作
答案 2 :(得分:0)
这是经典问题。 你做分配而不是比较。
如果你if(var = 5)
将var设置为5并说明为真。
这对我来说非常混乱,但现在我记得正确使用我的==
。
还有一种称为Yoda conditions
的技术,您可以将常量放在比较运算符的左侧:if (5 == var)
。这将帮助您避免错误,如果您错过了第二个字符,编译器会发出警告。
答案 3 :(得分:-3)
我纠正了你的问题。
//var ss = SpreadsheetApp.openById("ID_SPREADSHEET");
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh1 = ss.getSheetByName("downloader");
var sh2 = ss.getSheetByName("data");
var value = sh1.getRange("A1").getValue(); // add .getvalue()
if (value = 5) {
sh2.getRange('B1').setValue("Five");
}
为我工作。