【问题标题】:Google Sheets: Calculate the number of coloured cells IF the check box is marked谷歌表格:如果选中复选框,则计算彩色单元格的数量
【发布时间】:2020-12-17 00:26:37
【问题描述】:

我正在尝试计算也标记了复选框的列中彩色单元格的数量。

例如,在 F 列中,行中有 2 个带有标记复选框的绿色单元格。我没有制定出一个可以帮助我做到这一点的公式。我正在使用按颜色添加的功能来计算彩色单元格的数量。

任何帮助将不胜感激。

Sheet

【问题讨论】:

  • 工作表是否会改变形状或列将始终保持不变?如果它始终保持不变,您可以使用 onEdit 触发器实现下面的答案,以便每次工作表发生更改时都会更新

标签: if-statement google-apps-script google-sheets google-sheets-formula conditional-formatting


【解决方案1】:

解释:

  • 我会使用自定义函数来执行此操作,然后将其用作工作表中的公式。 请阅读更多关于custom functions 及其限制的信息。

  • 它们不会像常规公式一样刷新,而是仅在参数更改时刷新。如果它是您项目中的瓶颈,请在线查找有关此问题的解决方法。

解决办法:

点击电子表格文件顶部菜单上的Tools => Script editor,将以下代码复制并粘贴到空白脚本中,然后点击保存。

function countColors(checkboxesColumn,colorColumn,hexCode) {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet();
  const values = sh.getRange(checkboxesColumn).getValues().flat();
  const colors = sh.getRange(colorColumn).getBackgrounds().flat();
  return values.filter((v,i)=>v==true && colors[i]==hexCode).length;
}

那么您可以在工作表中将该函数用作=countColors("C3:C","F3:F","#b7e1cd")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多