如何在 Google 表格中根据单元格颜色计数或求和?
在本文中,我们将介绍一款实用的工具,它允许您根据电子表格单元格的颜色进行计算。利用此功能,您可以快速分析通过颜色编码进行视觉区分的数据并得出结论。Google 表格提供了各种内置函数和自定义脚本来完成这些任务,无论您是想计算具有特定颜色的单元格数量,还是计算与特定颜色相关的值的总和。为了满足不同用户的偏好和能力水平,本课程将介绍多种根据单元格颜色计数或求和的技巧。
在本课程中,我们假设您对 Google 表格有基本的了解,并熟悉其用户界面。为了确保您能够轻松跟上学习进度,我们将提供分步说明和屏幕截图。那么,让我们开始探索 Google 表格基于单元格颜色计算的潜力吧!
根据单元格颜色计数或求和单元格
在这里,我们将首先向表格添加一个脚本,然后使用公式完成任务。让我们通过一个简单的流程来了解如何在 Google 表格中根据单元格颜色计数或求和单元格。
步骤 1
假设您的 Google 表格中包含不同单元格颜色。
首先,点击"扩展程序",然后选择"应用脚本"。
扩展程序 > 应用脚本。
步骤 2
然后用以下代码替换现有代码并保存。
代码
function countColoredCells(countRange,colorRef) {
var activeRg = SpreadsheetApp.getActiveRange();
var activeSht = SpreadsheetApp.getActiveSheet();
var activeformula = activeRg.getFormula();
var countRangeAddress = activeformula.match(/\((.*)\,/).pop().trim();
var backGrounds = activeSht.getRange(countRangeAddress).getBackgrounds();
var colorRefAddress = activeformula.match(/\,(.*)\)/).pop().trim();
var BackGround = activeSht.getRange(colorRefAddress).getBackground();
var countCells = 0;
for (var i = 0; i < backGrounds.length; i++)
for (var k = 0; k < backGrounds[i].length; k++)
if ( backGrounds[i][k] == BackGround )
countCells = countCells + 1;
return countCells;
};

步骤 3
然后点击一个空单元格,输入公式 =countcoloredcells(A2:C7,E2),然后按 Enter 键获取第一个值。
空单元格 > 公式 > Enter。

然后对所有颜色重复此步骤。
注意
如果要计算总和,请使用以下代码并使用公式 =sumcoloredcells(A2:C7,E2)。
代码
function sumColoredCells(sumRange,colorRef) {
var activeRg = SpreadsheetApp.getActiveRange();
var activeSht = SpreadsheetApp.getActiveSheet();
var activeformula = activeRg.getFormula();
var countRangeAddress = activeformula.match(/\((.*)\,/).pop().trim();
var backGrounds = activeSht.getRange(countRangeAddress).getBackgrounds();
var sumValues = activeSht.getRange(countRangeAddress).getValues();
var colorRefAddress = activeformula.match(/\,(.*)\)/).pop().trim();
var BackGround = activeSht.getRange(colorRefAddress).getBackground();
var totalValue = 0;
for (var i = 0; i < backGrounds.length; i++)
for (var k = 0; k < backGrounds[i].length; k++)
if ( backGrounds[i][k] == BackGround )
if ((typeof sumValues[i][k]) == 'number')
totalValue = totalValue + (sumValues[i][k]);
return totalValue;
};
结论
在本教程中,我们使用了一个简单的示例来演示如何根据 Google Sheet 中的单元格颜色对单元格进行计数或求和,以突出显示特定的一组数据。
相关文章
有用资源
excel 参考教程 - 该教程包含有关 excel 的更多信息:https://www.cainiaomax.com/excel/

