步骤一:
Office 2003
Insert->Name->Define,Names in workbook输入getColor或getBGColor等标识词汇,Refers to输入公式=GET.CELL(63,$A1),这里数字63代表单元格的背景色,如果要得到文字的颜色,则把数字改成24(可参考附录中从互联网搜到的类型号信息)。这个公式用于会返回一个单元格背景色的索引数字。由于GET.CELL是excel里的隐藏函数,不能直接使用,所以要先在这里定义一下。
Formulas->Define Name,Name输入getColor或getBGColor等标识词汇,Refers to输入公式=GET.CELL(63,$A1),这里数字63代表单元格的背景色,如果要得到文字的颜色,则把数字改成24。
步骤二:
如果想知道某个单元格背景色的值,就在旁边的单元格里输入公式=getColor,如下图:
回车之后,我们会看到这个背景色对应的一个索引数字,如下图:
好了,现在,我们知道了这个浅蓝色的索引值是33.
步骤三:
在C列输入公式=IF(getColor=33,A1,0)
然后对C列求和,大家都会了=sum(C1:C12),得出结果154。
在Office 2010中运行的效果图如下:
这个还不算什么,再来个更猛的(函数作者未知):
在Excel里,按Alt+F11,调出VB编辑器,点菜单Insert->Module,粘贴如下的代码,自定义一个叫SumByColor的函数:
Function SumByColor(Ref_color As Range, Sum_range As Range)
Application.VolatileDim iCol As IntegerDim rCell As RangeiCol = Ref_color.Interior.ColorIndexFor Each rCell In Sum_rangeIf iCol = rCell.Interior.ColorIndex ThenSumByColor = SumByColor + rCell.ValueEnd IfNext rCellEnd Function
附录:
=GET.CELL(类型号,参考单元格) [ 例:=GET.CELL(63,$A1) ]
以下是类型号及代表的意思
1 参照储存格的绝对地址2 参照储存格的列号3 参照储存格的栏号4 类似 TYPE 函数5 参照地址的内容6 文字显示参照位址的公式7 参照位址的格式,文字显示8 文字显示参照位址的格式9 传回储存格外框左方样式,数字显示10 传回储存格外框右方样式,数字显示11 传回储存格外框方上样式,数字显示12 传回储存格外框方下样式,数字显示13 传回内部图样,数字显示14 如果储存格被设定 locked传回 True15 如果公式处于隐藏状态传回 True16 传回储存格宽度17 以点为单位传回储存格高度18 字型名称19 以点为单位元传回字号20 如果储存格所有或第一个字符为加粗传回 True21 如果储存格所有或第一个字符为斜体传回 True22 如果储存格所有或第一个字符为单底线传回True23 如果储存格所有或第一个字符字型中间加了一条水平线传回 True24 传回储存格第一个字符色彩数字, 1 至 56。如果设定为自动,传回 025 MS Excel不支持大纲格式26 MS Excel不支持阴影格式27 数字显示手动插入的分页线设定28 大纲的列层次29 大纲的栏层次30 如果范围为大纲的摘要列则为 True31 如果范围为大纲的摘要栏则为 True32 显示活页簿和工作表名称33 如果储存格格式为多行文字则为 True34 传回储存格外框左方色彩,数字显示。如果设定为自动,传回 035 传回储存格外框右方色彩,数字显示。如果设定为自动,传回 036 传回储存格外框上方色彩,数字显示。如果设定为自动,传回 037 传回储存格外框下方色彩,数字显示。如果设定为自动,传回 038 传回储存格前景阴影色彩,数字显示。如果设定为自动,传回 039 传回储存格背影阴影色彩,数字显示。如果设定为自动,传回 040 文字显示储存格样式41 传回参照地址的原始公式42 以点为单位传回使用中窗口左方至储存格左方水平距离43 以点为单位传回使用中窗口上方至储存格上方垂直距离44 以点为单位传回使用中窗口左方至储存格右方水平距离45 以点为单位传回使用中窗口上方至储存格下方垂直距离46 如果储存格有插入批注传回 True47 如果储存格有插入声音提示传回 True48 如果储存格有插入公式传回 True49 如果储存格是数组公式的范围传回 True50 传回储存格垂直对齐,数字显示51 传回储存格垂直方向,数字显示52 传回储存格前缀字符53 文字显示传回储存格显示内容54 传回储存格数据透视表名称55 传回储存格在数据透视表的位置56 枢纽分析57 如果储存格所有或第一个字符为上标传回True58 文字显示传回储存格所有或第一个字符字型样式59 传回储存格底线样式,数字显示60 如果储存格所有或第一个字符为下标传回True61 枢纽分析62 显示活页簿和工作表名称63 传回储存格的填满色彩64 传回图样前景色彩65 枢纽分析66 显示活页簿名称