首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

案例:

下图 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。不是后台留言哦。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OMlDme31T1aMBOJtsTFsPyZA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券