先点工具--宏--visualBasic编辑器,双击sheet1(sheet1),在右边的编辑框中输入下列程序Subredadd()Fori=1To100'计算第一列中前一百行的数据,如要N行,可把100改为你的数据个数NIfActiveSheet.Cells(i,1).Font.ColorIndex=3Then'前面的i表示行数,1表示列数,即A列,可根据你的实际更改,等号后面的3,表示红色.s=ActiveSheet.Cells(i,1)'将是红色的数据赋给临时变量SActiveSheet.Cells(1,2)=ActiveSheet.Cells(1,2)+s'将答案累加后的结果存在B1单元格里,括号中的1表示第一行,2表示第二列(B列),即B1单元格,可根据你的实际更改EndIfNextiEndSub专门为你制作的程序,调试结果,正确!谢谢采用.
假如你的数据列在A列,利用一个空白列作为辅助列,如B列。选择B1单元格,插入→名称→定义在上面的名称框中输入cl在下面的引用位置中输入=get.cell(24,$A1)添加,关闭在B1中输入=cl向下复制,这样,黑色字体(应该是自动生成的吧),返回1,红色字体将返回3下面用SUMIF函数进行分别计算就可以了。黑色字体求和公式=Sumif(B1:B10000,1,A1:A10000)红色字体求和公式=Sumif(B1:B10000,3,A1:A10000)