EXCEL中可以对每行中有特定颜色的单元格进行求和么,如果可以,请高手指导指导

2025-03-12 17:15:15
推荐回答(2个)
回答1:

用VBA可以

输入如下宏代码,加载到按钮上

Sub 矩形1_单击()
Sum = 0
For Each s In Range("a3:i3")
If s.Interior.ColorIndex = 3 Then
   Sum = Sum + s.Value
   End If
   Next s
   Range("j3").Value = Sum
End Sub
效果如下图:

回答2:

改善 peakiso 的方法

输入如下宏代码
Public Function sumdiy(rnd1, rnd2)
Sum = 0
For Each s In Range(rnd1.Address)
colr = rnd2.Interior.ColorIndex
If s.Interior.ColorIndex = colr Then
Sum = Sum + s.Value
End If
Next s
sumdiy = Sum
End Function

使用方法
直接在单元格输入公式
=sumdiy(求和单元格范围,求和颜色所在单元格)
‘===========================
比如可以这样
=sumdiy(a1:a100,a1)
求 a1:a100 单元格中 和 A1 颜色一样的单元格的和
’==========说明=================
在只改变单元格颜色的情况下 公式是不重新计算的
只有当其表格的任何一个单元格被修改 才会重新计算(重新计算所有公式)