在EXCEL中进行多条件求和(计数)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在EXCEL中进行多条件求和(计数)
大家肯定在日常的工作中为了统计一项数据,需要多个条件筛选进行计数或是求和,举个例子,要计算站
里张三工程师2008年12月里,台式上门硬件的数量,或者看一下,,台式上门硬件所更换部件数量,以便于来统计张三工程师所做维修单的Q4指标,此时就需要多条件计数和求和了,我们常规的做法就是用自动筛选来计算,如果站里有三五个工程师统计起来还可以,如果太多了就麻烦了,工作量大大提高,如果又是一项每月都要统计的工作,那更是不可想像,如果你有类似的问题,请往下面看,看我是如何做的.
一、数据明细的准备
我想站里对于这样一个数据明细肯定会有的,或者是在有这样一个数据明细的情况下进行操作,请看附图:
二、统计
在另外一个Sheet,或者往后移到,找一空白地方,建立这么一个表格。
在EXCEL中进行多条件求和(计数)
在B2中输入计算公式,此时我们用sum()函数,大家知道,这个函数一般是用来求和的,那么今天呢,我在这里教大家用他来做多条件求和或者记数的功能。
进行多条件求和的格式为:Sum((条件一)*(条件二)*(条件三)*(求和列))
进行多条件计数的格式为:Sum((条件一)*(条件二)*(条件三))
在上面这个例子中:
如果计算台式陈云涛的硬件单量,公式应该为:=sum(($J$2:$J$1000=”陈云涛”)*( $N$2:$N$1000=”台式”)*( $U$2:$U$1000=”硬件”)),输入到BB2中,按着CTRL+SHIFT+回车键,完成公式的输入,这
个地方有个注意点,就是完成输入的方法,必须是:按着CTRL+SHIFT+回车键
那么如果计算更换的硬件部件数据呢,就应该是:=sum(($J$2:$J$1000=”陈云涛”)*( $N$2:$N$1000=”台式”)*( $U$2:$U$1000=”硬件”)*( $AF$2:$AF$1000)),同理,需要按着CTRL+SHIFT+回车键,完成公式的输入。
当然,为了输入公式的方便,这个地方,可以将”陈云涛”替换成单元格引用,这样输入完第一行后再往下拖动一下,公式自动就会变更,可以方便快捷的输入完其它单元格中的公式了,单量核算公式就成了:=sum(($J$2:$J$1000=BA2)*( $N$2:$N$1000=”台式”)*( $U$2:$U$1000=”硬件”));更换部件数据就成了:=sum(($J$2:$J$1000=BA2*( $N$2:$N$1000=”台式”)*( $U$2:$U$1000=”硬
件”)*( $AF$2:$AF$1000))。有了更换部件数量和硬件单量就很容易出来Q4的数据,拖动后就出来这样的效果:
在EXCEL中进行多条件求和(计数)
有了此法,想核算某些数据时自然就可以很方便的核算了,只要替换相应的明细数据,即可快速核算出数据。
当然,除了此法之外,大家也可以巧用countif()函数,将数据明细进行整理后进行统计,这个在联想下发的数据中,有类似的使用,相比用sum()来讲运算时占用的系统资源还略小,但局限性太大,有需要此法的可以跟我沟通,QQ:52523479。
Sumporduct利用
=sumproduct((G1:G3=”男”)*(e1:e3<=60))
这个公式的意思是统计,G1-G3是男的,E1-E3数值小于等于60的人数。首先这是一个数组公式,要按CTRL+SHIFT+ENTER结束。
然后看他的计算过程:
假如G1=男,G2,G3都为女,然后E1=65,E2=60,E3=80。
这时候公式变为
=SUMPRODUCT((TURE,FALSE,FALSE)*(TRUE,FALSE,FLASE))
因为G1=男,所以第一个值为TURE ;第二个不为男,所以值为FALSE。接下来,TURE和FALSE分别代表1和0。所以公式为:
=SUMPRODUCT((1,0,0)*(1,0,0))
然后接下来就是SUMPRODUCT的计算过程了:
=1*1+0*0+0*0=1
为Excel文件减肥
很多人在实际使用EXCEL过程中发生EXCEL文件不明原因的增大,打开计算都很缓慢的现象,有时甚至造成文件损坏,无法打开的情况,以下是我收集的造成文件虚增的原因及处理办法,对没有提到的其他情况和解决办法,欢迎大家给予补充:
一、工作表中有大量的细小图片对象造成文件增大,这是最常见的文件虚胖原因。可能的原因:(1)从网页上复制内容直接粘帖到工作表中,而没有使用选择性粘帖,(2)无意中点了绘图工具栏的直线或其他绘图对象,不知不觉中在文件中插入了小的直线或其他图形,由于很小,肉眼几乎无法看到,又通过单元格的复制产生了大量的小绘图对象(3)在工作表中插入了图片其他绘图对象,操作中又将其高度宽度设为0或很小的值,通过复制产生了大量的对象(4)在行或列的位置中插入了绘图对象,对象的属性为,大小位置随单元而变的(默认的),然后隐藏行或列,或设置行高或列宽为很小的值,从而使插入的对象不能看到(5)工作表中的对象设置了不可见属性(Visible=false)或对象的线条和填充色均设为与底色相同,使对象无法看到
判断方法:(1)CTRL-G,定位,定位条件中选“对象”,确定后会显示很多被选择的小对象(这种方法在隐藏列或行中的对象并不能看到)(2)用VBA对对象进行计数,看看有多少个对象在工作表中,与你的工作表中需要的对象数量是否相符
Sub countshapes() Dim n n = ActiveSheet.Shapes.Count MsgBox "本工作表共有" & n & "个对象" End Sub
解决办法(1)如果确认工作表中没有你需要的对象或控件,用CTRL-G,定位,定位条件中选“对象”,确定后按DEL键删除,会删除工作表中所有的对象(2)用VBA删除,可以根据需要删除高度或宽度小于一定值的小对象,如
Sub delshapes() Dim sp As Shape, n For Each sp In ActiveSheet.Shapes If sp.Width < 14.25 Or sp.Height < 14.25 Then '约小于0.5cm,根据需要设定 sp.Delete n = n + 1 End If Next sp MsgBox "共删除了" & n & "个对象" End Sub
二、工作表中在很大的范围内设置了单元格的格式或者条件格式
可能的原因:操作时选择在很大的区域设置或复制了单元格的格式或条件格式(并不是整行整列),而真正用的区域并不很多,造成工作表内容不多,文件却很大。
判断方法:工作表滚协条的拖动滑标很小,拖动滑标向下可以达到很大的行号或列标,滑标拖到最下或最右的位置显示的列标或行号就是实际设置了单元格格式的地址
解决办法: 1、定位真正需要的行号下一行,按CTRL+SHIFT+下箭头,选择所有的多余行(也可以在名称框中输入行号如:2000:65536),编辑-清除-格式(或全部),同理清除可清除多余列的格式 2、如果需要在一行或一列的很大范围设置统一的单元格格式,可以选择整行或整列设置单元格格式,而不要只选择行列的一部分单独设置格式,再根据需要对行列的个别单元格设置单独的格式,对整行或整列甚至整个工作表设置单元格格式并不会造成文件虚增的问题,对A1:A65536设置单元格格式与对A1:A65535设置单元格格式文件太小是完全不同的 3、如果欲对已设置的不同格式的单元格设置整列或整行统一的格式,应选整行或整列,先清除单元格的格