Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 谷歌工作表:未找到范围_Google Sheets - Fatal编程技术网

Google sheets 谷歌工作表:未找到范围

Google sheets 谷歌工作表:未找到范围,google-sheets,Google Sheets,我是Google Sheets脚本的新手,我似乎不明白为什么会出现这样的错误:未找到范围(第4行,文件“代码”)。我从一开始就跟踪一切 这是我的密码: function getBgColor(input) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange(input); return range.getBackgro

我是Google Sheets脚本的新手,我似乎不明白为什么会出现这样的错误:未找到范围(第4行,文件“代码”)。我从一开始就跟踪一切

这是我的密码:

function getBgColor(input) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range = sheet.getRange(input);
  return range.getBackground();
}

非常感谢您的帮助。

如果您的输入范围只有一个单元格,那么您的代码应该很好,至少如果您将其作为字符串传入的话=getBgColor(“D1”)。 然而,如果你想通过一个范围,我认为你将不得不循环到该范围,以获得整个范围的颜色。所以你需要这样的东西(未经测试):

函数getBgColor(输入){ var bgs=SpreadsheetApp.getActiveSheet().getRange(输入).getBackgrounds(), 颜色=[]; 对于(变量i=0;i 这应该给你一个范围,所有背景颜色的范围,你通过它。如果要将这些颜色放在一个单元格中,请使用:return colors.join(“,”)。如果您只想返回唯一的颜色,还有其他方法可以实现


先看看这是否有帮助?

谢谢,我会试试看,然后告诉你它是否有效。我尝试了代码,但也遇到了同样的错误。但是当我指定了一个范围,比如.getRange(“A1:B2”)时,它就起作用了。我想在类似=if(getBgColor(“A1”)=“#ffff00”、“Y”、“N”)的条件下使用该函数。您可以在脚本中构建if statemenet,以便它输出“Y”或“N”,而不是实际的颜色。
function getBgColor(input) {
var bgs = SpreadsheetApp.getActiveSheet().getRange(input).getBackgrounds(),
colors = [];
for(var i = 0; i < bgs.length; i++){
colors.push(bgs[i]);
}
return colors;
}