按条件对二维表进行计算,必然绕不开对指定条件的行、列或行列交叉处查找定位。


这种需求有很多方法可以解,今天教大家两种很短的公式。


案例:


下图 1 是各销售人员的各项业绩表。请根据要求计算出指定业绩的总和,效果如下图 2 所示。


解决方案:


1. 在 H2 单元格中输入以下公式:

=DSUM(A1:E10,H1,F1:F2)


如果是我的老读者,应该对 DSUM 函数不陌生,之前我给大家讲解过具体用法,详情请参阅 。


但是本案例比较特殊,公式中的第三个参数如何理解?为什么是两个空的单元格?这就是今天要讲解的重点。


公式释义:

  • DSUM 是个数据库函数,作用是返回列表或数据库中满足指定条件的记录字段(列)中的数字之和;语法为 DSUM(database, field, criteria);
  • DSUM 的参数含义分别如下:
    • database:需要查询的数据库的区域
    • field:要计算的列
    • criteria:计算的条件区域
  • 本例中的前两个参数都不难理解,表示对数据库区域 A1:E10 内标题等于 H1 值的列按条件求和;
  • 第三个参数为什么是 F1:F2 呢?因为本例中我们没有计算条件,只要对指定的整列求和,因此不需要设置条件。但是这个参数又是必需的,那就可以选择任意两个连续的空单元格来替代,让条件为空。


说到按条件求交叉区域的值这个需求,我要再次吹爆已经写过无数个案例的 sumproduct 函数。


2. 在 I2 单元格中输入以下公式:

=SUMPRODUCT((B1:E1=I1)*1*B2:E10)


公式释义:

  • sumproduct 函数的作用是对乘积求和;
  • (B1:E1=I1):判断 B1:E1 区域的值是否与 I1 单元格的值相等,结果会生成一串 true 或 false 组成的数组;
  • *1:将上述值乘以 1,将逻辑值变成了数值 1 或 0;
  • *B2:E10:将上述数组与 B2:E10 相乘再求和,即可计算出所有满足条件的数值之和。


sumproduct 函数相关的案例实在是太多了,我就不一一列举了,感兴趣的同学可以在历史消息里搜索 sumproduct。不是后台留言哦。


很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。