首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google脚本,忽略for loop - Spreadsheet

Google脚本,忽略for loop - Spreadsheet
EN

Stack Overflow用户
提问于 2014-02-20 11:21:15
回答 1查看 224关注 0票数 0

我一直在寻找脚本和东西来查找,但是,似乎google api已经改变了太多,或者我很愚蠢,不知道如何执行旧的脚本并使它们工作。

我一直收到这些错误的解析错误...呀呼,这对你有很大帮助。不知道是哪一行。所以我做了我自己的。

代码语言:javascript
复制
function amountOfColors(color, range){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var orgColor = ss.getRange(color).getBackground();
var range = ss.getRange(range);

var x = 0;
Logger.log("I was here before the loop.");
for (var i; i < range.getNumRows(); i++) {
Logger.log("Entered Row loop");
for (var j; j < range.getNumColumns(); j++) {
  Logger.log("Entered Columns loop");
  var curCell = range.getCell(i, j);
  Logger.log("curCell is : " & curCell);
  if(curCell.getBackground() == orgColor) {
    Logger.log("curCell color is : " & curCell.getBackground());
    x++;
  }
}
}
Logger.log("END");
return x;
};

正如你所看到的,我几乎记录了所有的事情。然而,这是它在日志文件中返回的内容:

代码语言:javascript
复制
[14-02-20 04:00:53:445 CET] I was here before the loop.
[14-02-20 04:00:53:445 CET] END

连我的环路都没碰?

所有我想要这个脚本是从原始位置获取颜色,然后找到有多少个单元格具有该颜色,并返回它。非常简单的脚本。

希望有人能在这一点上给我一些启发。我试着从脚本库中安装类似的脚本,但它们也返回错误。

这是一张设置的图片:

http://b.imgdrp.com/PCoT.PNG -我意识到它写的是B33:B35,但即使是A,它也不起作用。

EN

回答 1

Stack Overflow用户

发布于 2014-02-21 10:42:56

添加我自己的答案,以防有人会有类似的问题。

代码语言:javascript
复制
function amountOfColors(color, range){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0]
  var orgColor = sheet.getRange(color).getBackground();
  var range = sheet.getRange(range);

  var x = 0;

  for (var i = 1; i <= range.getNumRows(); i++) {
    for (var j = 1; j <= range.getNumColumns(); j++) {
      var curCellColor = range.getCell(i,j).getBackground();
      if(curCellColor == orgColor)
        x++;
    }
  }
  return x;
};

除此之外,我更改了调用函数的方式:

而不是:

代码语言:javascript
复制
=amountOfColors("A35", "A33:A35")

您需要使用:

代码语言:javascript
复制
=amountOfColors("A35"; "A33:A35")

正如您看到的分号而不是逗号。

我为这么快发布和修复它而道歉,似乎我所需要的就是额外的1个小时来变得巧妙。至少希望有人能从中获益。如果有任何关于代码的问题,请随时添加注释,我将尝试解释。向Qvintus致以最良好的问候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21897408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档