作者:乔山办公网日期:
返回目录:excel表格制作
改善 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 颜色一样的单元格的和
’==========说明=================
在只改变单元格颜色的情答况下 公式是不重新回计算的答
只有当其表格的任何一个单元格被修改 才会重新计算(重新计算所有公式)
1、首先点击打开需要进行求和的表格;
2、然后直接按电脑键盘快捷键“Ctrl键”+“f键”打开“查抄找”界面;
3、然后会出现以下的查找界面,点击最上方的“百查找”,再点击其中的“选项”按钮,如图所示;
4、然后会切换以下界面,然后点击“格式”按钮,再选择其中下拉选项中的“背景颜色”,然后鼠标箭头会变成笔(颜色吸管)的形状,再点击黄颜色所在度的任意一个表格;
5、然后会出现以下界面,点击“查找全部”,然后将查找出来的知结果全选(点击查找结果的第一项,按住Shift键,再点击最后一项,这样可以将所有查找的道结果选中),再关闭查找窗口;
6、返回excel表格界面,输入公式“=sum(黄色)”,点击回车键“Enter键”即可得出黄颜色的总和;
用下面的代码,检测到C3至Z93任何一个单元格发生数据更新,就会自动对该列进行计算,
结果显示在同一列的94行单元格里。
Private Sub Worksheet_Change(ByVal Target As Range)
x = Target.Row 'x是有数据更新的单元格的行序号
y = Target.Column 'y是有数据更新的单元格的列序号
If x >= 3 And x <= 93 And y >= 3 And y <= 26 Then '如果x是第3至93行,y是第3至26列,那么
Dim i As Integer
s = 0 '变量s初始化
For i = 3 To 93 '遍历e799bee5baa6e997aee7ad94e4b893e5b19e3653至93
If Cells(i, y).Interior.ColorIndex <> xlNone Then '如果y列i行单元格颜色不等于无色
s = s + Cells(i, y) ',那么把该单元格的数值累加给s
End If
Next '返回进入下一次For循环
Cells(94, y) = s '最后给y列94行单元格输出结果:等于s
End If
End Sub
宏表函数。假定有颜百色数据在a列,全选a列——菜单——插入——名称度——定义——“当前工作薄中的名知称”一行中填入一个名称,比如XX,
引用位置下面输入道 =get.cell(24,$a1)
在空白列假定C1中输入=XX,公式下拉。这时单元回格中出现不同的数字,红色的答是3,无色的是0,蓝色是5…
求和红色:=sumif(c:c,3,a:a)
求红色单元格个数:=countif(c:c,3)