【问题标题】:Google Sheets custom function not working (loading never stops)谷歌表格自定义功能不起作用(加载永远不会停止)
【发布时间】:2021-06-10 07:00:54
【问题描述】:

我有一个简单的函数来计算谷歌表格中的颜色。在脚本编辑器中调用时它运行良好,但在工作表中不起作用...... 我将函数导入工作表,它仍在加载和加载...

我做错了什么吗?这是我第一次尝试自定义功能。 我从单元格中调用它的方式:

=countbackground("#ff0000", "F11:F27")

我的功能:

function countBackground(color, inputRange) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var range = sheet.getRange(inputRange);
  var rowColors = range.getBackgrounds();
  var count = 0;
  var newArr = [];

 // flatten array
 for(var i = 0; i < rowColors.length; i++)
 {
    newArr = newArr.concat(rowColors[i]);
 }

//count color
  for(var r = 0; r < newArr.length; r++) {
    if(newArr[r] === color){
      count++;
    }
  }
 Logger.log(rowColors);
 Logger.log(newArr);
  return count;
}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    该功能对我来说很好用。 请注意,代码也可以缩短为

    function countBackground (color, inputRange) {
      return SpreadsheetApp.getActiveSpreadsheet()
      .getRange(inputRange)
      .getBackgrounds()
      .flat()
      .filter(bg => bg == color)
      .length; 
    }

    【讨论】:

    • 感谢您的回答!代码运行良好,但同样只在脚本编辑器中而不是在工作表中......代码的缩短版本向我展示了我还必须学习多少。它返回我未知的函数错误
    猜你喜欢
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多