Google 工作表:如果选中复选框,计算彩色单元格的数量

Google Sheets: Calculate the number of coloured cells IF the check box is marked

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

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

如有任何帮助,我们将不胜感激。

Sheet

解释:

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

  • 它们不会像常规公式那样刷新,只有当参数发生变化时才会刷新。如果此问题是您项目中的瓶颈,请在线查找解决方法。

解决方案:

点击 spreadsheet 文件顶部菜单中的 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;
}

然后您可以在 sheet 中使用该函数作为 =countColors("C3:C","F3:F","#b7e1cd"):