乐于分享
好东西不私藏

手搓WPS按颜色求和“万能公式”,真好用!

手搓WPS按颜色求和“万能公式”,真好用!

我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!

——首发于微信号:桃大喵学习记

最近有小伙伴反馈:按照单元格颜色求和,有没有比较好用的方式?

今天就跟大家分享一个用JSA自定义的WPS表格按颜色万能求和函数,简单又实用,自动识别数字,文本信息不参与计算。

一:自定义按颜色求和函数介绍

功能:根据指定的目标颜色单元格,对数据区域内所有相同底色的单元格进行求和。求和过程中仅识别并计算数值,自动忽略文本内容。

语法:=SumByColor(目标颜色单元格,求和数据区域)

基本用法:

如下图所示,现在需要对表格中不同颜色的单元格分别进行求和。以对红色单元格求和为例。

在目标单元格中输入公式:

=SumByColor(B3,B2:D7)

然后点击回车即可

解读:

公式中第1参数:B3就是要求和的目标颜色单元格;第2参数:B2:D7就是整个求和数据区域。

二、自定义SumByColor按颜色万能求和函数方法步骤

因为在 WPS 中使用 VBA 需要购买商业版,而大多数人使用的个人免费版仅支持 JSA(JavaScript for Applications)。今天我们就用 JSA 代码,自定义一个 SumByColor 函数,实现对指定背景色单元格的求和功能。

具体步骤:

第一步:调出WPS宏编辑器窗口

在表格中依次点击【工具】→【WPS宏编辑器】,即可打开WPS宏编辑器窗口。

第二步:插入JSA宏源码

在WPS宏编辑器窗口编辑器中,找到【Project(按颜色.xlsx)】→【代码】→模块Module1中直接粘贴下方代码。

/*

功能: 按颜色汇总求和

作者: 桃大喵学习记

版本: SumByColor1.3

*/

function SumByColor(colorRange, dataRange) {

let total = 0;

// 提取颜色的函数

const getColor = (cell) => cell.Interior.Color;

const targetColor = getColor(colorRange);

// 使用 for 循环遍历单元格

for (let i = 1; i <= dataRange.Count; i++) {

let cell = dataRange.Item(i);

// 检查单元格的值是否为数字

if (typeof cell.Value2 === ‘number’ && getColor(cell) === targetColor) {

total += cell.Value2;

}

}

return total;

}

然后,关闭WPS宏编辑器窗口或切换回工作表,即可使用该自定义函数。

第三步:保存成启用宏的文件类型

点击【文件】菜单选择【另存为】,在弹出的窗口中,将【文件类型】改为【启用宏的工作表】即可。

特别提醒:

在保存包含自定义函数的表格时,【文件类型】必须选择【启用宏的工作表】,否则自定义函数将无法正常使用。

②如果下次打开该表格时,弹出“安全警告:宏已被禁用”的提示,必须点击【启用宏】按钮,否则自定义的函数将无法使用。

亲爱的小伙伴们:


如果你正在为复杂繁琐的WPS表格/Excel操作困扰,希望通过掌握实用技能显著提升工作效率、减少无效加班——你可以考虑下我的WPS表格/Excel系列课程。

以上就是【桃大喵学习记】今天的干货分享~觉得内容对你有所帮助,别忘了动动手指点个赞哦~。大家有什么问题欢迎关注留言,期待与你的每一次互动,让我们共同成长!