登陆注册
6335

这才是SUMIF函数最高级的用法,80%的人还不会用!

站长网2023-07-28 09:21:330

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))

你平常用过常量数组吗?

0000
评论列表
共(0)条