一、基本概念
1.单条件求和
=SUMIF(判断列,条件,求和列)
注意:判断列需与求和列等长。
2.多条件求和
=SUMIFS(求和列,判断列1,条件1,判断列2,条件2,……)
多条件求平均函数 AverageIfs 用法与之相同
3.注意事项:
技巧1:判断列、求和列在第二张表时,可先输入求和条件,再一同输入判断列、求和列
技巧2:判断列、求和列可定义名称,直接在公式中输入名称
技巧3:条件可用通配符*,需用引号引用
二、隔列求和

可用一个公式同时计算计划值、实际值:
=SUMIF($B$2:$M$2,N$2,$B3:$M3),再按 Ctrl + Enter 批量填充公式
要点:绝对引用与相对引用的应用
三、查找引用功能
与上述隔列求和类似,只是此处符合两个条件的数据仅有一个,起到查找、引用的目的。
类似Vlookup,但Vlookup仅是一维数据查找,sumif 可作二维数据查找。
四、按时间段求和
条件可为时间。
条件需引用:""
五、多表多条件求和
=SUMPRODUCT(SUMIFS(INDIRECT(ROW(1:5)&"!C:C"),INDIRECT(ROW(1:5)&"!A:A"),A2,INDIRECT(ROW(1:5)&"!B:B"),B2))
或
{=SUM(SUMIFS(INDIRECT(ROW(1:5)&"!C:C"),INDIRECT(ROW(1:5)&"!A:A"),A2,INDIRECT(ROW(1:5)&"!B:B"),B2))}
解读:
Sumifs 查找出来的是5组数据,所以需用可对数组求和的公式 Sumproduct 函数 或 Sum+数组 来求和。
数组函数中,需用变量Row(1:5)表示5个工作簿名称的枚举,直接用工作簿名 '1:5'!A2 只能用来计算各表一个单元格的数据,详见 Sum 函数的多表求和,需注意区分。
难点在于理解为何此处要用 Indirect 函数。个人暂未理解,可能与数组有关,与 Row 函数对应:对于数组函数不能直接精准的表达各具体的工作表名称,而需用函数间接引用。

网友评论