根据条件,动态求Excel二维表指定列的和,这里有两个很短的公式

文摘   科技   2024-08-17 11:00   上海  

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!


点击上方蓝字 --> 点击“...”--> 选择“设为星标


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


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


案例:


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



解决方案:


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

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


如果是我的老读者,应该对 DSUM 函数不陌生,之前我给大家讲解过具体用法,详情请参阅 Excel函数(15)–数据库求和函数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 坑,我都帮你趟过了。
 最新文章