|
這個問題似乎有點復(fù)雜啊。 在Excel表中是不能直接按單元格顏色做求和計算的 我們需要用VBA代碼自己創(chuàng)建一個Function,和平常用的函數(shù)差不多,只不過各種功能自己定義。 我剛剛研究一下,謝了段VBA,你試試哈 在Excel中Alt+F11,打開VBA編輯器,插入一個模塊,寫入代碼 源碼如下: Function CSUM(CRANGE As Range, SUMRANGE As Range) '創(chuàng)建一個顏色求和函數(shù)CSUM,定義參照顏色區(qū)域CRANGE,定義求和區(qū)域SUMRANGE Dim cell As Range, Colors, Data1, Data2 As Integer Application.Volatile Colors = CRANGE(1).Interior.Color For Each cell In SUMRANGE If cell.Interior.Color = Colors Then Data2 = Data2 + 1 Data1 = WorksheetFunction.Sum(cell) + Data1 End If Next cell If Data2 = 0 Then CSUM = 'No Colors Are Selected': Exit Function CSUM = Data1 End Function 完成后退出VBA編輯器 去應(yīng)用一下 公式使用方法和普通的公式一樣,按下方方法使用即可 =CSUM(參照顏色,求和區(qū)域) 我們再M列標(biāo)記了幾個顏色,在N列去計算標(biāo)記了此顏色的F列所表示的銷量 結(jié)果如下: 注意:由于VBA代碼中有一個遍歷循環(huán)的過程,所以選擇求和區(qū)域SUMRANGE的時候最好選擇數(shù)據(jù)表中有數(shù)據(jù)的范圍,而不要選擇一整列數(shù)據(jù),選一整列的話計算起來會慢很多。 代碼中,我們判斷了,沒有找到對應(yīng)參照顏色的的提示,如下: If Data2 = 0 Then CSUM = 'No Colors Are Selected': Exit Function 所以示例結(jié)果中出現(xiàn)了No Colors Are Selected內(nèi)容,不用在意,就是提醒而已。 會了沒?希望對你有幫助,不謝。 |
|
|