Table of contents
本教程介绍了我们为谷歌表提供的Function by Color插件中的2个新函数:CELLCOLOR & VALUESBYCOLORALL。 使用它们不仅可以对单元格的颜色进行求和和计数,还可以对共同的内容进行计数。 包括现成的SUMIFS & COUNTIFS公式;)
如果你经常在谷歌表格中使用彩色单元格,你可能已经尝试过我们的Function by Color插件。 你不知道,它现在还有两个功能,可以进一步扩展你对彩色单元格的操作。 CELLCOLOR 和 按颜色分类的价值所有 在本教程中,我将向你介绍这两个函数,并向你提供一些现成的公式。
用Function by Color对有颜色的单元格进行求和和计数
在我们深入了解这两个新的自定义函数之前,我想简单介绍一下我们的Function by Color插件,以防你不熟悉它。
这个用于谷歌表格的插件可以检查所选单元格中的字体和/或填充颜色,并且。
- 有共同色调的数字之和
- 计入有颜色的单元格,甚至是空白的单元格
- 在这些突出显示的单元格中找到平均/最大/最小值
- 以及更多
总共有13个函数来计算你的彩色单元。
以下是它的工作原理。
- 你选择要处理的范围。
- 选择你想考虑的字体和/或填充色调,并根据你的任务来挑选功能。
- 选择计算每行/列或整个范围的记录。
- 选择你想看到结果的单元格。
- 撞击 插入功能 .
例如,在这里的每一行中,我把所有 "正在进行中 "的项目加起来--背景是蓝色的。
=SUM(VALUESBYCOLOR("light cornflower blue 3", "", B2:E2))
提示:这里有一个详细的插件教程,这里有一篇博客文章,其中有一些例子。
正如你所看到的,该插件使用了标准的SUM函数,以及里面的一个特殊函数:VALUESBYCOLOR。
VALUESBYCOLOR函数
VALUESBYCOLOR是我们的自定义函数。
注意:在没有附加组件的电子表格中,你不会发现它。
它返回那些与你在附加组件中选择的颜色相对应的单元格。
=VALUESBYCOLOR("浅矢车菊蓝3", "", B2:E2)
看到了吗? 它只得到上面提供的每个项目的那些记录,这些记录根据我的设置是彩色的。 而这些数字是由我在工具中选择的那些标准函数之一计算的:SUM。
很酷,是吧?)
但是,该插件漏掉了一件事。 这个公式不能用于SUMIFS和COUNTIFS,所以你仍然不能同时按共同色调和单元格内容等多个条件来计算。 而且,我们已经被问了很多关于这个的问题
我很高兴地告诉你,我们已经通过最新的更新(2021年10月)使之成为可能!现在Function by Color又包含了2个自定义函数,可以帮助你实现这个目标 :)
按颜色划分功能的额外功能
我们实现的两个新函数叫做VALUESBYCOLORALL和CELLCOLOR。 让我们看看它们需要什么参数,以及你如何用你的数据来使用它们。
注意:由于这些函数是自定义的,它们是我们的Function by Color插件的一部分。 你需要安装该插件,否则,你将无法使用这些函数,它们返回的结果将丢失。
提示:观看这个视频或继续阅读,或同时进行以获得更好的理解;)博文末尾甚至还有一个练习电子表格;)。
按颜色分类的价值所有
这个自定义函数需要3个参数。
VALUESBYCOLORALL(fill_color, font_color, range)- 填充颜色 - 背景色的RGB代码或颜色名称(根据谷歌表调色板)。
提示:虽然参数是必须的,但你完全可以通过输入一对双引号来使函数忽略填充颜色:""
- 字体_颜色 - 文本颜色的RGB代码或颜色名称(根据Google表的调色板)。
提示:该参数也是必需的,但当你需要忽略字体颜色时,也需要一对双引号""。
- 范围 - 这里没有什么花哨的东西,只是一个你想处理的单元格的范围。
你是否注意到VALUESBYCOLORALL很容易被误认为是插件使用的VALUESBYCOLOR函数? 要小心,因为有很大的区别。 看一下这个截图。
这些公式是用B2 & C2写的,但你可以偷看一下它们在B8 & C8中相应的样子。
=VALUESBYCOLOR("浅绿色3", "", A2:A7)
和
=VALUESBYCOLORALL("浅绿色3", "", A2:A7)
提示:颜色名称取自谷歌表调色板。
这两个函数有相同的参数,甚至它们的名字也如此相似
然而,他们返回不同的数据集。
- VALUESBYCOLOR只返回那些在A列出现绿色填充的记录列表。
- VALUESBYCOLORALL,反过来,返回与原始范围(6个单元格)相同大小的范围--C2:C7.但这个范围内的单元格只有在A列中相应的单元格具有所需的填充颜色时才包含记录。 其他单元格保持空。
尽管这对你来说可能是一样的,但与其他函数结合起来就会产生巨大的不同。 而这正是让你用COUNTIFS或SUMIFS等函数检查颜色和单元格内容的原因。
CELLCOLOR
下一个函数非常简单:它检查单元格的颜色,并返回每个单元格中使用的颜色名称或RGB代码(这是你的选择)的列表。 它甚至被称为:CELLCOLOR。
你可能不直接需要这些颜色名称,但你可以在其他函数中使用它们,例如,作为一个条件。
这个函数也需要3个参数。
CELLCOLOR(range, color_source, color_name)- 范围 - 那些你想检查颜色的单元格。
- 颜色_来源 - 告诉函数要看哪里。
- 用字 "填补" 用双引号来检查背景颜色
- "字体" - 用于文字颜色
- "两个" - 填充和文本颜色都是如此
- 颜色_名称 - 你的方式,告诉你要返回什么样的名字。
- 为真 可以得到你在谷歌表格调色板中看到的名字,比如说 红色 或 深蓝色 1
- 失败 获得颜色的RGB代码,例如 #ff0000 或 #3d85c6
例如,下面的公式返回A2:A7的每个单元格中使用的填充和字体颜色列表。
=CELLCOLOR(A2:A7, "both", TRUE)
那么这些函数如何与IF、SUMIFS、COUNTIFS一起使用? 如何根据颜色设置搜索条件?
按颜色和内容对单元格进行求和和计数--公式示例
让我们试着在一些简单的情况下使用VALUESBYCOLORALL和CELLCOLOR。
如果有颜色,那么...
在这里,我有一份通过3项测试的学生的简短名单。
我想在E列中标记为PASS的行,只有当一行中的所有单元格都是绿色时(通过所有考试的学生)。 我将在IF函数中使用我们的CELLCOLOR来检查颜色并返回所需的字符串。
=IF(COUNTIF(CELLCOLOR(B2:D2, "fill",TRUE), "light green 3")=3, "PASS"," )
以下是它的作用。
- CELLCOLOR(B2:D2, "fill",TRUE) 返回一行中使用的所有填充颜色。
- COUNTIF(CELLCOLOR(B2:D2, "fill",TRUE), "light green 3")=3 取出这些颜色,并检查'浅绿色3'(我在单元格中使用的颜色)是否正好连续出现3次。
- 如果是这样,IF返回'PASS',否则,单元格保持空。
COUNTIFS:按颜色&计数;有1个公式的值
COUNTIFS是另一个函数,它最终可以按多个标准计数,即使其中一个标准是颜色。
我们假设有每个班次和每个员工的利润记录。
使用我们在COUNTIFS里面的两个自定义函数,我可以计算每个员工执行销售计划的次数(绿色单元格)。
例1.COUNTIFS + CELLCOLOR
我将在有数据的表格旁边列出所有经理,并为每个雇员输入单独的公式。 我将从CELLCOLOR开始。
=COUNTIFS($A$2:$A$10,E2,CELLCOLOR($C$2:$C$10, "fill",TRUE), "浅绿色3")
- 公式首先检查的是A列:如果有'Leela'(E2中的一个名字),它就会考虑到这个记录。
- 我需要检查的第二件事是C列中的单元格是否被染成了浅绿色3。
提示:使用谷歌表调色板检查单元格颜色。
由于COUNTIFS本身不能只拾取颜色,我使用我们的CELLCOLOR作为条件范围。
请记住,CELLCOLOR返回每个单元格使用的颜色列表。 当我将其嵌入COUNTIFS时,后者会扫描该列表,搜索所有出现的 "浅绿色3"。 这与E列的名称相结合,可以得到所需的结果。 很简单:)
例2:COUNTIFS+VALUESBYCOLORALL
如果你选择VALUESBYCOLORALL,也会发生同样的情况。 把它作为第二个条件的范围输入。
=COUNTIFS($A$2:$A$10,E2,VALUESBYCOLORALL("浅绿色3",",$C$2:C$10),")
你还记得VALUESBYCOLORALL返回什么吗? 一个数值列表,其中所有符合你的颜色要求的单元格都包含记录。 所有其他单元格保持空。
因此,当VALUESBYCOLORALL被放到COUNTIFS时,公式只计算那些不是空的单元格:""(或者,换句话说,对应于所需的颜色)。
SUMIFS:按颜色&对单元格进行求和;用1个公式计算数值
SUMIFS的故事就像COUNTIFS一样。
- 采取我们的自定义函数之一:CELLCOLOR或VALUESBYCOLORALL。
- 把它作为一个应该测试颜色的范围。
- 根据你选择的功能输入条件:CELLCOLOR为颜色名称,VALUESBYCOLORALL为 "非空"("")。
注意:SUMIFS不接受任何东西,只接受一个简单的范围作为它的第一个参数。 总数_范围 如果你试图在这里嵌入我们的一个自定义函数,那么这个公式就不会起作用。 所以请记住这一点,并确保将CELLCOLOR和VALUESBYCOLORALL作为一个单元输入。 准则 而不是。
这里有几个例子。
例1.SUMIFS + CELLCOLOR
看看这个公式。
=SUMIFS($C$2:$C$10,A$2:A$10,E2,CELLCOLOR($C$2:$C$10, "fill",TRUE), "浅绿色 3")
- CELLCOLOR从C2:C10获取所有的填充颜色,SUMIFS检查其中是否有 "浅绿色3"。
- SUMIFS还从A2:A10扫描E2-的名称。 利拉 .
- 一旦这两个条件得到满足,C2:C10的金额就会加到总数中。
例2.SUMIFS+VALUESBYCOLORALL
同样的情况发生在VALUESBYCOLORALL上。
=SUMIFS($C$2:$C$10,$A$2:$A$10,E2,VALUESBYCOLORALL("浅绿色3",",$C$2:$C$10),")
- VALUESBYCOLORALL返回只有所需填充颜色的单元格包含数值的范围。 SUMIFS考虑到所有非空的单元格。
- SUMIFS也从E2扫描A2:A10的 "Leela"。
- 一旦这两个条件得到满足,C2:C10的相应金额就会被累计。
希望本教程解释了这些函数的工作原理,并提示了使用这些函数的可能方法。 如果你在应用这些函数时仍有困难,请在评论区与我见面;)
沿用电子表格进行练习
按颜色划分的功能--自定义功能--示例(复制一份电子表格)。