Microsoft Lab
Excel / SUMIF 与 SUMIFS 按条件求和
Count and Sum第 8 课

SUMIF 与 SUMIFS 按条件求和

⏱ 10 分钟🟡 日常

When什么时候用得到

销售记录里有各种产品。老板问:「这个月 Laptop 一共卖了多少钱?」只加总符合条件的那几笔,就是 SUMIF 的工作。

条件不止一个,就用 SUMIFS。

What这是什么

SUMIF — 按一个条件求和。

SUMIFS — 按多个条件(AND)求和。

函数语法例子
SUMIF=SUMIF(range, criteria, [sum_range])=SUMIF(A1:A5,"circle",B1:B5)
SUMIFS=SUMIFS(sum_range, range1, criteria1, range2, criteria2, ...)=SUMIFS(C1:C10,A1:A10,"Google",B1:B10,"Stanford")

⚠️ SUMIFS 的第一个参数是求和范围,和 SUMIF 的顺序不同。

How一步一步做


数字条件

  1. 1

    两个参数:加总 ≤10 的值

    =SUMIF(A1:A5,"<=10")。

  2. 2

    条件放进格子

    =SUMIF(A1:A5,"<="&C1)。

  3. 3

    三个参数:条件范围和求和范围分开

    A1:A5 等于 25 时,加总 B1:B5 对应的值:=SUMIF(A1:A5,25,B1:B5)。

  4. 4

    条件用格子引用

    =SUMIF(A1:A5,D1,B1:B5)。


文字条件

📌 文字条件一律用双引号。

  • 等于 "circle":=SUMIF(A1:A5,"circle",B1:B5)
  • 不等于 "triangle":=SUMIF(A1:A5,"<>triangle",B1:B5)
  • ? 匹配单个字符:=SUMIF(A1:A5,"appl?",B1:B5) 能匹配 apple
  • * 匹配任意长度:=SUMIF(A1:A5,"*套餐*",B1:B5) 加总所有含「套餐」的金额
  • triangle 或 circle:两个相加 =SUMIF(...,"triangle",...)+SUMIF(...,"circle",...)

日期条件

  • 2024 年 1 月 20 日之后:=SUMIF(A1:A5,">"&DATE(2024,1,20),B1:B5)
  • 今天:=SUMIF(A1:A5,TODAY(),B1:B5)
  • 两个日期之间,改用 SUMIFS:=SUMIFS(B1:B5,A1:A5,">="&DATE(2024,1,1),A1:A5,"<="&DATE(2024,1,31))

❌ 把 SUMIF 和 SUMIFS 的参数顺序弄混。

❌ 日期条件直接当文字写。


AND / OR

需求用法
ANDSUMIFS
OR两个 SUMIF 相加(或数组公式,按 Ctrl+Shift+Enter)

❌ OR 相加造成重复加总。

Why为什么这样做

✅ 日期条件用 DATE() 或 & 拼接,Excel 才会当成真正的日期比较。

⚠️ OR 用相加法,「两边都符合」的行会被加两次。

Sources

Blog / Website:

  1. Sumif
Functions · Count and Sum · 第 8 课 ← Running Total SUMPRODUCT →