按条件求和,今天教好几个公式。还有一些常用的,大部分人都会,就不写了。
案例:
从下图 1 的数据表中计算出符合 I、J 列条件的“净增数”之和,并且将符合条件的行高亮显示。
效果如下图 2 所示。
公式 1:
=SUMIFS(G2:G28,A2:A28,I2,F2:F28,J2)
公式释义:
sumifs 函数的作用是多条件求和,语法为 SUMIFS(求和区域, 条件区域1, 条件1, [条件区域2, 条件2], ...);
这段公式表示对 G2:G28 按以下条件求和:A2:A28 区域的值为 I2,且 F2:F28 区域的值符合 J2
公式 2:
=SUMPRODUCT((A2:A28=I2)*(F2:F28>10)*G2:G28)
公式释义:
SUMPRODUCT 函数返回相应范围或数组的乘积的总和;
(A2:A28=I2)*(F2:F28>10):中间的“*”相当于 and 函数作用;同时满足两个条件的结果为 1,只要有一个条件不满足即为 0;
*G2:G28:将上述结果与区域相乘,用 sumproduct 对乘积求和,即可得出满足所有条件的和
公式 3:
=DSUM(A1:G28,G1,I1:J2)
公式释义:
dsum 是个数据库函数,作用是返回列表或数据库中满足指定条件的区域中的数字之和;
语法为 DSUM(数据库区域, 需要返回的区域, 条件区域);
公式的含义是在数据库 A1:G28 区域中返回标题为 G1 的列,返回条件为 I1:J2 区域
* 三个参数中的标题必须完全一致。
公式 4:
=SUM(FILTER(G2:G28,(A2:A28=I2)*(F2:F28>10)))
公式释义:
filter 是 365 函数,作用是按条件筛选,语法为 FILTER(要筛选的区域,筛选条件,[为空时显示的值]);
FILTER(G2:G28,(A2:A28=I2)*(F2:F28>10)):从 G2:G28 区域中筛选出同时符合 (A2:A28=I2) 和 (F2:F28>10) 的值;
sum(...):对上述筛选结果求和
高亮显示符合条件的行:
1. 选中 A2:G28 区域 --> 选择菜单栏的“开始”-->“条件区域”-->“新建规则”
2. 在弹出的对话框中选择“使用公式确定要设置格式的单元格”--> 输入以下公式 --> 点击“格式”按钮:
=($A2=$I$2)*($F2>10)
* 请务必注意单元格的绝对和相对引用。
3. 在弹出的对话框中选择“填充”选项卡 --> 选择所需的填充色 --> 点击“确定”
4. 点击“确定”。
效果如下。