场景1:需求计划 —— 按“产品+月份+渠道”汇总预测销量
业务问题:需求计划员每月收到各渠道(线上/线下)的预测,需要快速得到:产品A/B分别在2026年6月/7月线上/线下渠道的总预测销量,用于提交给主计划。
原始数据表:

需要先求产品A和产品B线上和线下渠道的总和(汇总产品A和B),忽略时间条件,只有“产品”条件和“渠道”两个条件。
-求和区域:预测销量-D列:区域D2:D12, 为销量求和区域的引用范围。
但需要做绝对引用:$D$2:$D$12。
-条件1:产品 -B列:区域的$B$2:$B$12,为条件1的引用范围。
-条件2: 渠道-C列:区域的$C$2:$C$12,为条件2的引用范围。
假如我们在15行复制与第一行一样的标题行,从第16行开始汇总,在B16:B19输入“产品A”,“产品B”,C16:C17输入“线上”和“线下”,见下图:

然后在单元格D16行开始输入公式:
=SUMIFS($D$2:$D$12, $B$2:$B$12,“产品A”,$C$2:$C$12,“线上”)
红色:$D$2:$D$12为求和的预测销量数据区域。
蓝色:第一个条件,$B$2:$B$12为产品的条件数据范围,条件为“产品A”。更好的方法是单元格引用,引用单元格B16值(B16单元格的值=“产品A”),这样可以往下复制公式。
绿色:第二个条件,$C$2:$C$12为渠道的条件数据范围,条件为“线上”,同样可以改为单元格引用,用C16替代。
因此,如果不想每个公式输:“产品A”,“产品B”,“线上”,“线下”,可以直接引用这些值对应的单元格。
因此D16的公式替换为:
=SUMIFS($D$2:$D$12,$B$2:$B$12,B16,$C$2:$C$12,C16)
回车,得到D16的预测销量值为2800,公式往下拉,得到产品A线下的预测销量值为2200,产品A线上为1000,产品A线下为800。
一定要记住,所有的公式里面的标点符号,都必须是半角,冒号“:”,逗号“,”,引号“ ”, 括号“()”,"{}"等,如果出现公式错误,需要仔细检查每个标点符号。
所以,通过上面的例子,我们可以看到,只要掌握了它的语法,SUMIFS非常简单。
当然,如果要加上一个时间范围,会复杂一些。
在SUMIFS公式里,6月、7月是时间一个范围,从1日到30/31日,所以要确定一个范围,不能直接使用“6月”,“7月”这样的字符等,它们在公式只是一个单一值,就像“产品A”,“线下”一样。
需要用到日期函数date(yyyy,mm,dd),date(2026,6,1)转化为日期2026/6/1。
计算日期需要使用符号“>”,“<”,“=”,“&”。
“ >, >, =”都是字符类型,需要使用引号“ ”,然后用"&"符号链接,所以日期正确的第一种表达式为:“>”&date(2026,5,31),“<”&date(2026,7,1),也就是大于2026/5/31和小于2026/7/1的日期范围,也就是6月1日~6月30日的整个6月份的所有日期。
现在我们要分别计算6月份和7月份的产品A线上和线下预测销量:
产品A的6月份的线上预测销量,在D20单元格输入公式:
=SUMIFS($D$2:$D$12,$B$2:$B$12,B20,$C$2:$C$12,C20,$A$2:$A$12,">"&DATE(2026,5,31),$A$2:$A$12,"<"&DATE(2026,7,1))
我们看到,A列:时间列,引用了两次,在SUMIFS公式中,条件范围是可以被引用多次的,以满足多个条件。
需要特别注意的是这个范围不能用于产品或者渠道条件等单一条件,就是B列和C列不能引用两次,同时计算产品A/B,或者线上/线下,因为在单一条件中,没有一行数据它是既为"产品A",同时又为"产品B",或者同时为线上和线下,而某行的一个日期可以同时满足>date(2026,5,31)和<date(2026,7,1)。
将公式复制到D21。
但是7月份的公式需要修改时间范围,这次我们使用">=" 和"<="。
所以在D22列输入公式,或者将D21的公式再下拉复制公式到D22,手动修改一下时间范围:
">="&DATE(2026,7,1)和"<="&DATE(2026,7,31)),”=”包括7月1日和7月31日,所以只限定在7月份。
后面三个汇总读者可以自己试一下。
SUMIFS用途非常广泛,不仅用于上面的需求计划,可以用于主计划,物料计划等各个领域。
场景2:主计划排程 —— 按“产品+车间+周次”汇总完工量
主计划员排好了一个月的每日生产计划(精细到车间、产线、产品、数量)。现在需要汇总:“第25周,在A车间生产的产品X,总共计划完工多少”,用来做周产能平衡。
原始数据:

需要加一个辅助列,将日期转换成周数,用周数函数,weeknum(日期, 2), 返回公式中这个日期是这一年中的第几周,“2”是以周一到周日计算为一周的方式,符合中国人统计周数的习惯,见下图。

在SUMIFS公式中,条件列如果不想输入行数范围,比如2:12行,可以直接引用整列,比如B列为B:B,引用整个B列数据,但是公式需要放在其他列,比如图中的G到I列,在I2单元格输入公式:
=SUMIFS(E:E,B:B,25,C:C,"A",D:D,"产品X")
或者将"A"和"产品X"改成单元格引用。
=SUMIFS(E:E,B:B,25,C:C,G2,D:D,H2)
场景3:产能规划 —— 按“工作中心+日期范围”汇总计划工时
产能计划员需要评估某关键工作中心(如喷涂线)在未来两周的总计划工时,对比额定产能,判断是否需要外协或加班。

在H2单元格输入公式:
=SUMIFS(E:E,B:B,"喷涂线",C:C,">=2026/7/10",C:C,"<=2026/7/23")
公式:日期格式">=2024/7/10"是第二种写法,是更便捷的写法,公式自动将文本">=2024/7/10"转换成大于等于2026年7月10日的日期。
如果产能是按天评估的,可以配合动态日期条件:
-今天日期函数:TODAY()
-两周后:TODAY()+14
公式自动滚动:=SUMIFS(E:E,B:B,"喷涂线",C:C,">="&TODAY(),C:C,"<="&TODAY()+14)
场景4:物料计划 —— 按“物料+供应商+状态”统计未交订单量
物料计划员有一张采购订单明细表,记录了不同物料、不同供应商的计划到货数量和实际入库状态。比如需要知道:“对于物料M-100,供应商S-03,目前仍然未入库的数量有多少”,用来更新物料需求计划。
通常这些表格都会很长,可能上千行或者几千行,需要按物料,供应商等分类。
原始数据表:
要计算仍然未入库的数量有多少,需要从订单总量(计划到货数量)扣除已入库数据,可以加一辅助列F列,未交数量=计划到货量-已入库数量,但也可以直接从公式中计算。
公式举例:
=SUMIFS(F:F,A:A,"M-100",B:B,"S-03",E:E,"未交")
或者通过公式扣除已入库数量:
=SUMIFS(C:C,A:A,"M-100",B:B,"S-03",E:E,"未交")-SUMIFS(D:D,A:A,"M-100",B:B,"S-03",E:E,"未交")
SUMIF还有更多的用法,比如:模糊查询汇总,结合数组公式多条件同时汇总等。
由于篇幅的关系,我们放在下篇讲解。