如题所述
=SUMPRODUCT((A:A="一年级一班")*(B:B="东风区")*(C:C))
中C:C代表C列全列,包含C1单元格,而C1单元格是文本,用文本直接参与相乘计算,就产生了错误值,解决办法有多种,可以把单元格地址写成不是全列的,比如A2:A100之类的,后面C列外面那个括号是多余的,就去掉了,改成
=SUMPRODUCT((A2:A100="一年级一班")*(B2:B100="东风区")*C2:C100)
就能求出来了。
或者还是用全列,但C列不与前面的用乘号相连,因为SUMPRODUCT函数本身就是求乘积函数,没有说必须用乘号与前面相连,前面A列与B列相乘,意思是逻辑关系中“和”的意思,C列与它们可以仅用逗号相连,也代表着求乘积的意思,这样就可以规避错误值,公式写成
=SUMPRODUCT((A:A="一年级一班")*(B:B="东风区"),C:C)
或者你什么也不改,仅将C1单元格中的文字删除,公式也能得到结果。追问
那要同时筛选A列俩条件,B列俩条件,求和怎么写呢
追答逻辑关系不太清楚,可能是这样
=SUMPRODUCT(((A2:A100="条件一")+(A2:A100="条件二"))*((B2:B100="条件三")+(B2:B100="条件四"))*C2:C100)
刚才说的*代表“和”的关系,现在增加其中的+代表着“或”的关系,注意其中括号的层次,自己按情况组合。
好的 那条件可以是区间值么 比如大于0小于等于30这样的呢
追答可以的,理解什么是“或”,“和”就可以了。
=(A2:A100>0)*(A2:A100>=30) 大于0且小于等于30
可以很多个,很多重,串联、嵌套上去。顺序是先乘,后加,可以用括号改变顺序。
=(A2:A100>30)+(A2:A100<10) 大于30或小于10
=SUMPRODUCT(((A2:A100="张三")+(A2:A100="李四"))*((B2:B100="玫瑰班*")+(B2:B100="向日葵班"))*((C2:C100>0)+(C2:C100<=40))*D2:D100)
B2:B100="玫瑰班*"
其中*号不能这样用,它有SUMIF函数与COUNTIF等函数中可以当通配符使用,但在这里是直接比较,可以写成
LEFT(B2:B100,3)="玫瑰班"
LEFT(B2:B100,4)="向日葵班"
之类的。
用多条件求和函数sumifs就可以,
具体公式为:=SUMIFS(C:C,A:A,"一年级*",B:B,"向阳区")
效果如视频所示:
如有疑问可以继续交流!
那要同时筛选A列俩条件,B列俩条件,求和怎么写呢
如果在写一列数据设置条件里想设置在一个区间内怎么写,比如条件要求人数
是 大于0小于等于20
表格发到邮箱,
追问邮箱多少我发给你,私信问你了
追答问题得到解决请给个认可!谢谢!
有问题可以继续交流!
具体公式为:=SUM(IF((ISNUMBER(FIND("张三",$A$2:$A$21,1))+ISNUMBER(FIND("李四",A2:A21,1)))*(ISNUMBER(FIND("玫瑰班",$B$2:$B$21,1))+ISNUMBER(FIND("向日葵班",$B$2:$B$21,1)))*(($C$2:$C$21>0)*($C$2:$C$21<=40)),$D$2:$D$21,0))
数组公式,复制粘贴后需要同时按下ctrl shift enter 三个键 产生花括号
一年级所有的班在向阳区的总人数公式为:
=COUNTIFS(A:A,"一年级*",B:B,"向阳区")
若是统计”一年级一班、一年级二班、一年级三班“ 这3个班在向阳区的总人数公式为:
=SUM(COUNTIFS(A:A,"一年级"&{"一班","二班","三班"},B:B,"向阳区"))
追问感谢
A:A,"一年级"&{"一班","二班","三班"}
如果统计不是班级而是人名呢
张三,李四,王二麻子,小淘气
还有如果是天数,条件可以是区间值么 比如大于0小于等于30这样的呢
这应该怎么写呢
=COUNTIFS(A:A,"一年级*",B:B,"向阳区",C:C,">0",C:C,"<=30")
结果就是一年级的在向阳区的人数在0~30人的个数(即行数)
若是你要统计人名,则需要姓名的列,数据结构是什么?
你还是要去学习一下 COUNTIFS 这个函数的用法,应该可以得到你想要的!!