SUMIF的三个参数按顺序是条件区域、条件和求和区域——最容易填错的不是条件的写法,而是条件区域和求和区域的行数不一致导致结果异常。 比如条件区域选了A2:A50(49行),求和区域选了B2:B60(59行),多出来的行不会被计算——结果是基于两者对齐的部分。
SUMIF三个参数的完整语法
完整语法:=SUMIF(range, criteria, [sum_range])
- 第一个参数 range(条件区域):要在哪里判断条件。必须是单列或单行的单元格引用。这部分的值决定哪些行被选中。
- 第二个参数 criteria(条件):判断标准。可以是具体文本("销售")、数字(100)、比较表达式(">100")、单元格引用(D2)或带通配符的文本("*部"匹配所有以"部"结尾的项)。
- 第三个参数 sum_range(求和区域):符合条件的行要对哪一列求和。如果省略,则对条件区域自身求和。
文本条件怎么写:三个最常见的文本条件场景
- 精确匹配文本:在条件参数中直接用双引号包裹文本——
=SUMIF(A2:A50, "销售部", C2:C50)。A列中等于"销售部"的那些行,对C列求和。
- 单元格引用做条件:如果条件值放在某个单元格中(如E1里写了"销售部"),写法是
=SUMIF(A2:A50, E1, C2:C50)——直接引用单元格,不要加双引号。
- 通配符模糊匹配:
=SUMIF(A2:A50, "*部", C2:C50)会对A列中所有以"部"结尾的行(销售部、财务部、人事部…)对应的C列求和。星号*代表任意字符。
数字比较条件:大于、小于和不等于
- 大于某个数:
=SUMIF(B2:B50, ">100", C2:C50)——条件参数中用引号包裹比较符和数字。B列中大于100的行对C列求和。
- 小于等于:
=SUMIF(B2:B50, "<=500", C2:C50)
- 不等于:
=SUMIF(A2:A50, "<>销售部", C2:C50)——A列中不等于"销售部"的所有行对C列求和。
- 引用单元格中的比较值:
=SUMIF(B2:B50, ">"&E1, C2:C50)——如果E1单元格存了数字100,用&拼接比较符和单元格引用。
SUMIF结果为0的排查步骤

SUMIF结果为0但明明有符合条件的行,按以下顺序排查:
- 条件区域和求和区域行数是否一致:SUMIF会自动将求和区域对齐到条件区域的起始位置——如果你写的求和区域比条件区域多出好几行,多的不会被计算。
- 条件是否正确匹配:在条件区域中随机挑一个你预期会被匹配的值,在旁边的空单元格中测试
=A10="预期值"——如果返回FALSE说明看起来一样的值实际有差异,可能是多了空格或数字被存成了文本格式。
- 数字被存为文本:当条件区域的数字被存为文本格式时,数字比较条件(>100)可能无法正确匹配——用VALUE函数转换或用"转换为数字"功能处理。
SUMIF和SUMIFS的区别
SUMIF是单条件求和(一个条件判断),SUMIFS是多条件求和(多个条件同时满足才求和)。二者参数顺序不同——SUMIF的求和区域在第三参数,SUMIFS的求和区域在第一参数。从SUMIF升级到SUMIFS时需要注意这个顺序差异。
FAQ
WPS表格的SUMIF和Excel一样吗?
语法和行为完全一致,基础场景下公式可直接互相复制使用。
条件区域和求和区域可以是不同工作表吗?
可以。写法是=SUMIF(Sheet2!A2:A50, "条件", Sheet2!C2:C50)——在参数中引用其他工作表的数据区域即可。
总结
SUMIF的核心要点归结为:条件区域和求和区域行数要一致、数字比较条件需要用引号包裹如">100"、单元格引用拼接比较符时用&符号。结果为0时优先检查两件事:两个区域是否对齐、被匹配的值是否因为空格或格式问题导致"看起来一样但实际不同"。