google-apps-script - 在 Google 表格中计算具有特定背景颜色的单元格
问题描述
我正在尝试使用 Google 表格为我的餐厅制作视觉轮播表。我需要计算一行的背景颜色,以获得当天工作半小时的数字。
以下是谷歌表的链接:
https://docs.google.com/spreadsheets/d/19IEDGZypi3nVt55-OayvPo__pbV0sTuRQ3wCJZ1Mhck/edit?usp=sharing
我正在使用的脚本:
function countBG(range, colorref) {
var sheet = SpreadsheetApp.getActiveSheet();
var color = sheet.getRange(colorref).getBackground();
var range = sheet.getRange(range);
var rangeVal = range.getValues();
var count = 0;
var allColors = range.getBackgrounds();
for (var i = 0; i < allColors.length; i++) {
for (var j = 0; j < allColors[0].length; j++) {
if (allColors[i][j] == color) count += 1;
};
};
return count;
}
我发现该脚本第一次运行时可以运行,但之后它会出现错误:
未找到范围(第 4 行,文件“代码”)
将不胜感激任何帮助,让这个工作,我是新的谷歌表格和脚本,所以可能会遗漏一些明显的东西。
谢谢,
D B。
解决方案
如果您想将其作为自定义函数运行并仅使用单行作为输入,这将起作用。
你会像这样传递行变量=countBG("D6:AH6")
function countBG(input) {
var sheet = SpreadsheetApp.getActiveSheet();
var colors = sheet.getRange(input).getBackgrounds();
var count = 0;
Logger.log(colors);
for (var i = 0; i < colors.length; i++) {
for (var j = 0; j < colors[0].length; j++) {
if (colors[i][j] != "#ffffff") count += 1;
};
};
Logger.log(count);
return count;
}
推荐阅读
- c - 矩阵排序合并排序 C
- python - TypeError:描述符'lower'需要一个'str'对象,但收到了一个Python的'tuple'
- r - 如何在遗传算法中实现 AUC 的 R 代码
- android - Android Kotlin 将自定义库绑定到我的代码?
- css - 像书籍内容一样显示文本
- python-3.x - 从 zip 文件夹中的所有“.txt”和“.docx”文件中删除标点符号和停用词
- java - spring框架3.2.13是否兼容Java 11
- android - 在 Android 中使用 dagger2 进行依赖注入
- javascript - Haste 模块地图中不存在模块“react-native-screens”
- office-js - 确定条件格式是否应用于 Office-js 中的单元格或单元格范围