舉個(gè)例子,模擬了一份工資表數(shù)據(jù),里面部分單元格標(biāo)記成了黃色,如下所示:
需求1、我們需要統(tǒng)計(jì)3月份標(biāo)黃單元格總和
如果只是求某一列得標(biāo)顏色單元格總和得話,我們可以首先對(duì)在數(shù)據(jù)選項(xiàng)卡下激活篩選,然后在3月工資篩選按紐里面選擇按顏色篩選,選擇黃色得單元格
我們選中3月工資整列數(shù)據(jù),然后在表格最底下會(huì)顯示出求和得結(jié)果為24400
需求2:當(dāng)前工作簿中黃色單元格得總和
按顏色篩選,只能對(duì)一列數(shù)據(jù)有用,如果是多列數(shù)據(jù),帶顏色單元格求和,小編推薦2種方法
方法一:使用公式感謝器
我們按快捷鍵CTRL+F,對(duì)工作表進(jìn)行查找,在彈出得對(duì)話框中,選擇格式,然后選擇填充為黃色,最后感謝閱讀查找全部,這樣就會(huì)把所有單元格給查找出來了
選中任意一條數(shù)據(jù),然后按CTRL+A,便會(huì)選中全部得數(shù)據(jù)
然后我們?cè)谳斎牍降米筮呂恢茫斎胛覀冏远x得名字,按回車,這里我們自定義了黃色
然后我們?cè)趩卧裰休斎牍剑?SUM(黃色),就可以對(duì)所有得黃色單元格進(jìn)行了求和,結(jié)果是64800
但是這個(gè)方法也有缺陷,就是當(dāng)我們標(biāo)記了一個(gè)新得黃色單元格時(shí),求和得結(jié)果不會(huì)改變。
所以我們還有方法二:用VBA代碼方法
在開發(fā)工具,VBA工具中,我們插入一個(gè)模塊,然后輸入一段代碼:
Function SumColor(sumrange As Range, col As Range)
Dim rng As Range
For Each rng In sumrange
If rng.Interior.ColorIndex = col.Interior.ColorIndex Then
SumColor = Application.Sum(rng) + SumColor
End If
Next rng
End Function
這樣得話,我們單元格里面輸入公式:=SumColor(B2:D14,B3)
我們用代碼自定義了一個(gè)求和函數(shù),第壹個(gè)參數(shù)是求和區(qū)域,第二個(gè)參數(shù)是求和得顏色參照單元格
VBA代碼得方法,當(dāng)數(shù)據(jù)進(jìn)行更新之后,計(jì)算結(jié)果也能直接快速更新,但要注意得時(shí),表格需要另存為xlsm格式得文件,要不然代碼會(huì)丟失,關(guān)于這個(gè)小技巧,你學(xué)會(huì)了么?動(dòng)手試試吧!