王德寶,王德寶講師,王德寶聯(lián)系方式,王德寶培訓(xùn)師-【中華講師網(wǎng)】
52
鮮花排名
0
鮮花數(shù)量
掃一掃加我微信
王德寶:Excel有關(guān)顏色這點(diǎn)事:按顏色排序/求和/計(jì)數(shù)等
2016-01-20 20728

我們通過條件格式或手工設(shè)置了單元格產(chǎn)生不同的顏色(背景色或前景色),接下來我們希望更進(jìn)一步的操作或統(tǒng)計(jì),例如:按照一定的顏色順序排序、相同顏色的單元格累加求和、或者計(jì)算某一顏色的單元格有多少個(gè)等。

 

關(guān)于排序,Excel2007版以后內(nèi)置了按顏色排序的功能,這里不多說。下面探討如何根據(jù)顏色求和或計(jì)數(shù)。

 

解決思路:先得到顏色值,再利用相應(yīng)的函數(shù)(SUMIFS,COUNTIFS)進(jìn)行統(tǒng)計(jì)。

 

一、根據(jù)顏色取顏色值 

通常有兩個(gè)解決辦法:利用GET.CELL函數(shù),或自定義函數(shù)法。建議采用增加輔助列的方法,先計(jì)算出顏色代碼,再據(jù)此求和或計(jì)數(shù)。

1、GET.CELL 取單元格信息的宏表函數(shù),關(guān)于這個(gè)函數(shù)的詳細(xì)參數(shù)大家百度吧。

需要注意的是這個(gè)函數(shù)不能在工作表單元格中直接使用!那怎么用呢?在名稱里。你要定義名稱:選中B2單元格,公式->定義名稱->起個(gè)名額如MyColor->引用位置里面輸入 =get.cell(38,Sheet1!A2),然后確定。

然后在B2輸入=MyColor,則就會(huì)返回A列同行單元格的背景色的顏色代碼,往下拉公式填充。

2、自定義函數(shù)法。進(jìn)入VBA窗口,插入模塊,輸入以下代碼 :

'返回單元格的背景顏色代碼

Function GetColor(rng As Range) As Double

    GetColor = rng.Interior.ColorIndex

End Function

然后就可以在單元格里像其它函數(shù)一樣使用這個(gè)GetColor函數(shù)了。

 

舉一個(gè)實(shí)例,如下圖,通過上述兩個(gè)方法可以分別得到顏色代碼。

點(diǎn)擊查看原圖

 

二、用函數(shù)統(tǒng)計(jì) 

求得顏色值之后,要想統(tǒng)計(jì)某個(gè)顏色的單元格之和或個(gè)數(shù),利用sumifs函數(shù)和countifs函數(shù),對(duì)顏色代碼進(jìn)行計(jì)算即可。上圖中B20、C20、D20的公式分別為:

取顏色值公式:

B20 =GetColor(A20)

按顏色求和公式:

C20 =SUMIFS($C$2:$C$16,$C$2:$C$16,B20)

按顏色計(jì)數(shù)公式:

D20 =COUNTIFS($C$2:$C$16,B20)

 

至此,這類問題基本都能迎刃而解。

 

注意:細(xì)心的朋友可能會(huì)發(fā)現(xiàn),對(duì)于同一個(gè)單元格,兩個(gè)函數(shù)算出的顏色值可能不一樣的。導(dǎo)致這個(gè)問題的原因可能是兩個(gè)函數(shù)能處理的顏色的多少是不同的,具體還沒仔細(xì)研究。

要很好的避免這個(gè)問題,推薦使用第二種自定義函數(shù)的方法來求顏色值。


德寶老師博客原文:https://blog.debao.name/excel_color.html?j=1

全部評(píng)論 (0)

Copyright©2008-2024 版權(quán)所有 浙ICP備06026258號(hào)-1 浙公網(wǎng)安備 33010802003509號(hào) 杭州講師網(wǎng)絡(luò)科技有限公司
講師網(wǎng) 3969a.com 直接對(duì)接10000多名優(yōu)秀講師-省時(shí)省力省錢
講師網(wǎng)常年法律顧問:浙江麥迪律師事務(wù)所 梁俊景律師 李小平律師