SUMIF函数的第2个参数条件值,可以是一个具体的精确值,也可以是大于或小于某个值的条件,或者是诸如开头是、结尾是、包含、不包含等等这样的模糊匹配。
1、数值限制条件下的单条件模糊匹配求和
下图是一个把资金收付按照正数和负数记录的表单,现在要求分别计算正数和负数的合计,那么就可以使用下面的公式:
正数合计:=SUMIF(B:B,”>0″)
负数合计:=SUMIF(B:B,”<0″)
2、关键词匹配条件下的单条件模糊求和
在很多从管理系统导出的数据中,会有关键词的存在,此时可以使用通配符来匹配关键词,实现项目的快速汇总,而不需要先进行分列或加工。
下图就是这样的一种情况。左侧A:C列是从K3导出的管理费用余额表数据,右侧是按照部门汇总的结果,单元格H2公式如下:
=SUMIF(B:B,”*”&G2,C:C)
因为在每个部门前面有部门编码,部门名称在编码的右侧,因此使用通配符构建以部门名称结尾的模糊匹配条件。
3、字符个数匹配条件下的单条件模糊求和
通配符有两个:一个是星号(*),用于匹配任意字符;一个是问号(?),用于匹配指定个数的字符。
在某些情况下,我们需要根据字符个数来计算,而不必去理会字符具体是什么,此时可以使用问号作为匹配条件来解决了
下图是一个示例,A列是科目编码,其中4位编码是总账科目,按照收入为正、支出为负的格式输入金额,这些总账科目数据加起来,就是净利润,此时可以使用问号来匹配4位编码进行求和,公式如下:
=SUMIF(A:A,”????”,C:C)
4、关于通配符(*)的说明
通配符(*)表示任意的字符,可以使用它来构建关键词匹配条件。例如,
假若要匹配关键词“北京”,有下表所示的几个常见组合。
条件条件值表达
以“北京”开头北京*
不以“北京”开头<>北京*
以“北京”结尾*北京
不以“北京”结尾<>*北京
包含“北京”*北京*
不包含“北京”<>*北京*