看似不可能,却总有那么一个Excel函数在那里等着为你兜底

Excel学习世界 2023-01-21 20:05:39

函数跟人一样,日久见人心。有些经典函数,每当遇到疑难杂症的时候,它总能力挽狂澜,任何时候都能兜底,那它就是个好函数。而有的,一遇困难就不好使,好吧,就和大部分人一样。

今天这个案例,本是不可为,不敢想,但是有这个我一夸再夸的函数,又四两拨千斤了。

案例:

下图 1 中左侧的是各销售人员的获客数业绩表,右侧则需要根据 E 列的查询值,计算出符合条件的所有获客数总和。

效果如下图 2 所示。

解决方案:

这个案例的难点在于哪里呢?如果要根据 B 列的姓名查找 C 列的结果,这最简单,一对一查询用 vlookup 就能查找。如果是根据 A 列的值一对多查找再求和,那就麻烦一点,但也是有很多方法的。但是两种需求同时出现,智能判断并计算结果,这就不太好办了。

一个公式能做到吗?能!

1. 在 F2 单元格中输入以下公式 --> 下拉复制公式:

=SUMPRODUCT(($A$2:$B$13=E2)*$C$2:$C$13)

公式释义:

$A$2:$B$13=E2:

将 A、B 两列的值依次与 E2 单元格比对,生成一组由 true 或 false 组成的数组;

选中这段公式,按 F9,可以看到如下结果:, 隔开的是列,; 隔开的是行;

...*$C$2:$C$13:将上述数组结果与 C 列的值相乘,只有前一个数组中为 true 的值会保留 C 列的值,其余都为 0;

SUMPRODUCT(...):将数值结果相加,最后得到的就是符合条件的值之和

* 请注意:参数内的区域都要绝对引用,而 E 列的匹配值是动态的,所以要相对引用。

0 阅读:103

Excel学习世界

简介:Excel 学习交流