Hello,大家好,今天跟大家分享下我們如何根據單元格的顏色進行求和與計數,很多人都是一個一個計算的,非常麻煩,其實這都是源於我們數據整理的時候太過隨意,如果在數據整理的的時候就能將數據分類獨立的羅列出來,後期直接求和或者計數即可,根據單元格顏色求和與計數各跟大家分享3種方法
一、查找法
首先我們要選擇想要統計的數據區域,然後按Ctrl+F調出查找的窗口,然後點擊選項,點擊格式選擇從單元格選取格式,滑鼠就會變成一個小吸管的樣子,我們直接吸取想要統計顏色的單元格,然後點擊全部查找,緊接著按Ctrl+a選擇查找到的全部數據,在工作表右下角的狀態欄就會顯示該顏色的個數及求和
二、宏表函數法
有可能會問到宏表函數是什麼,宏表函數可以說是vba的前身,但是隨著vba的出現,宏表函數已經被逐漸的取代,但是現在仍然可以使用,只不過只能通過定義名稱來使用
在這裡我們需要用到的宏表函數是GET.CELL,他的參數一共有兩個
第一參數:type_num,單元格中的信息,會根據輸入的代碼返回不同的單元的信息
第二參數: Reference,單元格範圍
我們想要獲取單元格的單色信息,就需要將GET.CELL函數的第一參數設置為63.因為代碼63返回的是單元色的顏色信息
宏表函數的使用必須先對其定義名稱,首選我們點擊公式,點擊定義名稱,將名稱設置為顏色,然後輸入公式=GET.CELL(63,Sheet1!B2),在這裡Sheet1是表格的名稱,B2是統計區域的第一個單元格,設置完後點擊確定
然後我們直接輸入等於顏色,然後向下填充數據,就會根據不同的顏色返回不同的結果,黃色的結果為6.綠色的結果為10
最後我們使用sumif函數和countif函數進行求與計數即可
求和公式:=SUMIF(C2:C18,6,B2:B18)
計數公式:=COUNTIF(C2:C18,6)
三、使用vba自定義函數
1.根據顏色求和代碼
Dim icell As Range
Application.Volatile
For Each icell In sumrange
If icell.Interior.ColorIndex = col.Interior.ColorIndex Then
SumColor = Application.Sum(icell) + SumColor
End If
Next icell
2.根據顏色計數代碼
Application.Volatile
For Each i In ary2
If i.Interior.ColorIndex = ary1.Interior.ColorIndex Then
CountColor = CountColor + 1
End If
Next
想要使用這兩個代碼,我們就必須先將其粘貼進vba中,首先我們點擊開發工具,選擇visual basic,進入vba的編輯界面,然後點擊插入,選擇模塊,將代碼粘貼進去即可
在這裡我們自定了了兩個函數,根據顏色求和的函數名稱是SumColor,根據顏色計數的函數名稱是CountColor
這兩個函數的參數都是一樣的
第一參數:統計顏色的單元格
第二參數:要統計的數據區域,
使用方法如下動圖
以上就是今天的全部內容了,怎麼樣,你學會了嗎?
我是excel從零到一,關注我持續分享更多excel技巧