SumIfs函数是 Excel 中多个求和函数之一,它主要用于统计指定区域满足单个或多个条件的和。SumIfs函数可以有多个参数,除第一个参数“求和区域”外,其它的参数都成组出现,每组由“条件区域和条件”组成,可以有 N 组这样的参数。SumIfs函数的多条件用数组表示,数组中的每个元素就是一个条件;当用数组组合多个条件时,SumIfs函数通常要与Sum函数结合才能统计出满足多个条件的和。以下就是Sumifs函数多字段多条件求和使用实例,实例中操作所用软件为wps2019。
上图说明
A列为道床形式,B列/D列为铺设里程范围,E列为铺设长度,F列为标准断面混凝土量,F列为对应长度的混凝土方量。
A列为轨枕间距有矩隧普通整体道床1600、矩隧普通整体道床1600 h=*、矩隧普通整体道床1680、矩隧普通整体道床1680 h=*、圆隧普通整体道床1680 h=*,圆隧普通整体道床1680 、圆隧普通整体道床16800 h=*,圆隧普通整体道床1600 。
求:圆隧1600、圆隧1680、矩隧1600、矩隧1680各铺设多少公里?
我在《EXCEL技巧:条件列包含某个字符则对应行数据求和》中单条件采用SUMIF函数,本次需要各单元格必须满足两个条件,一个是结构形式圆隧、矩隧,另一个是铺设间距1600、1680,故SUMIF无法满足。
通过网上搜索发现SumIfs函数非常符合我的需求:
[mark_a]
表达式:SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], …)
中文表达式:SUMIFS(求和区域,条件区域1,条件1,[条件区域2,条件2],…)
[/mark_a]
圆隧一般段道床1600 公式:
=SUMIFS(D14:D345,A14:A345,"*1600*",A14:A345,"*圆隧*")
圆隧一般段道床1680 公式:
=SUMIFS(D14:D345,A14:A345,"*1680*",A14:A345,"*圆隧*")
说明:上面公式D14:D345为我要求和的列,A14:A345为判定条件列,从公式可以看出,你也可以对不同列进行条件判定。
如果想求直线段圆隧铺设长度,我们必须去掉曲线条件h,过滤后就直线铺设长度。公式如下:
圆隧一般段道床直线铺设长度 公式
=SUMIFS(D14:D345,A14:A345,"<>*h*",A14:A345,"*圆隧*")
说明:要求A14:A345列包含圆隧字符,同样不包含h字符,那么对应D列数据求和。
上面公式中我们用到了<>号,EXCEL公式中的意思的是不等于。