使用 DSUM 汇总记录
汇总符合条件范围的行中某个字段的值
使用 DSUM 汇总记录 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。
DSUM 的作用
DSUM 会对表格某一列中的数字求和,但只处理符合条件区域的行。您可以把它看作这样一种 SUMIFS:它从单元格区域中读取条件,而不是从公式内部读取条件。
当条件较多,或者希望用户通过编辑单元格来更改筛选条件,而不是重写公式时,它尤其有用。
DSUM 语法
其结构为:
DSUM(database, field, criteria)
- 数据库 - 包含标题的完整表格,例如
A1:C13。 - 字段 - 要汇总的列,可以用引号括起的标题名称表示,例如
"Amount",也可以用列号表示。 - 条件 - 您之前构建的条件区域。
=DSUM(A1:C13, "Amount", E1:E2)先求一个总和
假设 A1:C13 中有销售数据,标题为 Region、Rep、Amount。在 E1 中放入 Region,在 E2 中放入 East。
下方公式会汇总每条东部记录的金额列。如果东部记录的金额分别为 1200、800 和 500,结果就是 2500。将 E2 改为 West 后,总和会立即重新计算,无需修改公式。
=DSUM(A1:C13, "Amount", E1:E2)选择字段
字段参数决定对哪一列求和。有两种写法:
- 按名称:
"Amount"- 清晰明了,也不易受列顺序变化影响。 - 按位置:
3- 表示数据库区域中的第三列。
使用标题名称通常更安全,因为插入列不会使其失效。只需确保拼写与表格标题完全一致。
=DSUM(A1:C13, 3, E1:E2)按数字条件求和
您可以根据数字规则进行汇总。在 E1 中放入 Amount,在 E2 中放入 >1000。现在,DSUM 只会将超过 1000 的金额相加。
这对于“所有大额订单的总金额是多少?”之类的问题很有帮助。比较条件放在单元格中,因此管理者可以调整阈值,而无需修改公式。
=DSUM(A1:C13, "Amount", E1:E2)使用 AND 设置两个条件
若要汇总金额超过 1000 的东部订单,请构建一个两列条件区域。在 E1:F1 中放置标题 Region 和 Amount,然后在 E2:F2 中放置 East 和 >1000。
由于两个条件位于同一行,因此它们通过 AND 连接。DSUM 只会对区域为东部且金额超过 1000 的行汇总金额。
=DSUM(A1:C13, "Amount", E1:F2)使用 OR 设置两个值
若要汇总东部和西部的总金额,请将这两个值放在不同行中。在 E1 中放入 Region,在 E2 中放入 East,在 E3 中放入 West。
不同行表示 OR,因此 DSUM 会将区域为东部或西部的所有行的金额相加。请记得将条件参数扩展为 E1:E3,以涵盖这两行条件。
=DSUM(A1:C13, "Amount", E1:E3)DSUM 与 SUMIFS
两者都可以按条件求和,但有所不同:
- SUMIFS 将条件保留在公式内部,非常适合一次性汇总。
- DSUM 从单元格中读取条件,非常适合用户可以调整筛选条件的仪表板,也适合 SUMIFS 难以处理的复杂 AND/OR 逻辑。
如果您发现自己为了处理 OR 逻辑而嵌套许多 SUMIFS,那么使用带有多行条件区域的 DSUM 通常更清晰。
=SUMIFS(C2:C13, A2:A13, "East", C2:C13, ">1000")注意数据库范围
数据库参数必须包含表头行。如果您只传入数据行(A2:C13)而不包含表头,DSUM 就无法将字段名称映射到列,并会返回错误。
此外,请将范围严格限定在实际数据周围。对于求和而言,在下方包含多余的空行通常没有问题,但这可能会让其他 D 函数产生混淆,因此无论如何,养成限定范围的好习惯都是有益的。
=DSUM(A1:C13, "Amount", E1:E2)处理无匹配结果
如果没有任何行符合条件,DSUM 会直接返回 0,而不会抛出错误。这通常没有问题,但 0 看起来可能像是真实的总计。
您可以将它与 DCOUNT 配合使用,以确定是否确实有记录匹配;也可以添加检查,让无匹配时返回的 0 与总计为 0 的情况显示不同。
=IF(DCOUNT(A1:C13,"Amount",E1:E2)=0, "No records", DSUM(A1:C13,"Amount",E1:E2))实时仪表板总计
DSUM 的真正优势在于交互性。您可以在条件值单元格 E2 中放置一个下拉菜单,列出每个地区,然后让 DSUM 引用 E1:E2。
现在,只需一个单元格就能控制总计:选择东部,数值就会显示东部销售额;选择北部,数值就会切换为北部销售额。您可以堆叠多个 DSUM 单元格,每个指标使用一个,同时读取同一个下拉菜单,将静态表格变成无需修改公式即可响应的摘要面板。
=DSUM(A1:C13, "Amount", E1:E2)快速检查
您编写了 =DSUM(A1:C13, "Amount", E1:E2),并在 E1 中输入 Region、在 E2 中输入 East。它会返回什么结果?
回顾
DSUM 会对符合条件范围的行中的一列进行求和:
- 语法:
DSUM(database, field, criteria)。 - 数据库参数中要包含表头行。
- 字段可以是加引号的表头名称,也可以是列编号。
- 同一行的条件表示 AND;不同行的条件表示 OR。
- 没有匹配项时返回0,而不是错误。
接下来,我们将使用 DCOUNT 统计匹配的记录。
用 AI 导师学习 Excel — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「使用 DSUM 汇总记录」课时是免费的吗?
是的 — 「使用 DSUM 汇总记录」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。
「使用 DSUM 汇总记录」这节课中我会学到什么?
汇总符合条件范围的行中某个字段的值 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Excel Formulas Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「使用 DSUM 汇总记录」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Excel Formulas Academy 课中编写并运行代码吗?
能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 设置条件范围
- 使用 DSUM 汇总记录
- 使用 DCOUNT 统计记录
- 使用 DAVERAGE 和 DGET 求平均值并提取数据