有网友求助:对区域中的多条件求和,自己所设的公式只有在所有条件都出现的情况下才出结果,如果有条件缺失,求和结果就会为 0,这该怎么纠错?
案例:下图 1 是某公司的销售记录,请以前三列为条件,设置求和公式。效果如下图 2 所示。
解决方案:
1. 将数据表除标题外的所有区域都复制粘贴到另一个工作表。
2. 选中 A 列 --> 选择菜单栏的“数据”-->“删除重复值”
3. 在弹出的对话框中选择“以当前选定区域排序”--> 点击“删除重复项”
4. 点击“确定”
5. 点击“确定”
6. 重复同样的步骤给另外两列也去除重复值。
7. 回到源数据表的工作表,在下方复制粘贴相同的标题。
* 其实是非常不建议将两个表格上下或左右排布的,因为当数据行列变化时容易相互影响。此处为了便于大家查看,我才放在下面,实际工作中建议放在另一个工作表中。
8. 选中 A30 单元格 --> 选择菜单栏的“数据”-->“数据验证”-->“数据验证”
9. 在弹出的对话框的对话框中选择“设置”选项卡 --> 按以下方式设置 --> 点击“确定”:
- 允许:选择“序列”
- 来源:选择 A 列的数据区域
下拉菜单设置好了。
10. 用同样的方式设置另外两个下拉菜单。
11. 在 D30 单元格中输入以下公式:
=sumifs(D2:D25,A2:A25,"*"&A30,B2:B25,"*"&B30,C2:C25,"*"&C30)
公式释义:
- SUMIFS 的用法老读者都不陌生,语法为 SUMIFS(求和区域, 条件区域1, 条件1, [条件区域2, 条件2], ...);对满足所有条件的区域求和;
- 为什么每个条件前都有一个 "*"& 呢?& 是个连接符,相当于在每个条件前加上通配符“*”,这样就能在下拉菜单中有空单元格的时候,条件会成为“*”,即整个区域都符合条件;如果没有“*”号,则该条件为空,那么最后 sumifs 判断某个条件不符合,从而最终结果会为 0。
现在就不怕了,有空单元格,也能多条件求和。
12. 这个求和公式还可以简化如下:
=DSUM(A1:D25,4,A29:C30)
公式释义:
- DSUM 是个数据库函数,语法为 DSUM(数据库区域, 要计算的列, 包含指定条件的单元格);
- 第三个参数中的标题必须与数据库的标题一致
同样有空值也能计算出结果。除非条件有错结果才会为 0,比如“销售一部”中没有“王富贵”,如果同时选了这俩条件,求和结果就会为 0。
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
,