这才是SUMIF函数最高级的用法,80%的人还不会用!
VIP学员的问题,汇总表要按照项目名称,将全部分表的金额进行条件求和。
分表的项目名称都是在B列,不过顺序不同,金额都在C列。
直接一步到位很难,卢子先从简单的开始说起。
1.简单粗暴
假如现在要对薪酬的表进行条件求和。
=SUMIF(薪酬!B:B,A2,薪酬!C:C)
现在只有3个分表,直接3个SUMIF相加就可以。
=SUMIF(薪酬!B:B,A2,薪酬!C:C) SUMIF(生产!B:B,A2,生产!C:C) SUMIF(研发!B:B,A2,研发!C:C)
学员觉得这种公式没啥技术含量,如果分表多的话,容易写错。
2.常规做法
将每个分表的名称写在第一行,然后借助INDIRECT间接引用名称,从而对每个分表进行条件求和。
=SUMIF(INDIRECT(C$1&"!B:B"),$A2,INDIRECT(C$1&"!C:C"))
再通过SUM对这几列进行求和。
=SUM(C2:E2)
3.高级做法
可以用常量数组将分表全部罗列起来,用{"薪酬","生产","研发"}表示,再用SUMIF进行条件求和,最后用SUM将结果相加。=SUM(SUMIF(INDIRECT({"薪酬","生产","研发"}&"!B:B"),A2,INDIRECT({"薪酬","生产","研发"}&"!C:C")))
常量数组,估计有不少人没用过,再举一个简单的案例说明。对3个项目A、D、E对应的金额进行求和。
用最原始的方法,就是写3个SUMIF相加。这样一来会出现很多相同的地方,相同的地方就想合并起来,让公式更加简洁。这相当于数学里面的合并同类项。
用常量数组可以将所有条件一起写{"A","D","E"},这样条件区域、求和区域就只写一次就行,公式就看起来简洁多。
=SUM(SUMIF(A:A,{"A","D","E"},B:B))
你平常用过常量数组吗?
- 0003
- 0001
- 0000
- 0000
- 0000