Excel Formulas Academy · 课时

使用 DAVERAGE 和 DGET 求平均值并提取数据

计算匹配记录的平均值,并提取单个匹配值

第 4 / 4 课13 个步骤

使用 DAVERAGE 和 DGET 求平均值并提取数据 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。

另外两个 D 函数

本课将介绍最后两个数据库函数:

  • DAVERAGE——匹配记录的数值字段的平均值。
  • DGET——从唯一符合条件的行中提取一个值。

两者都会复用您已经熟悉的 (database, field, criteria) 模式,因此您主要需要了解的是它们返回的结果,而不是新的语法。

DAVERAGE 语法

DAVERAGE(database, field, criteria) 会计算符合条件范围的行中字段列的平均值。

  • 数据库——包含表头的完整表格。
  • 字段——用于求平均值的数值列。
  • 条件——用于匹配的规则区域。

它类似于 AVERAGEIFS,但会从单元格中读取条件。

=DAVERAGE(A1:C13, "Amount", E1:E2)

第一次求平均值

假设销售数据位于 A1:C13(表头为 Region、Rep、Amount),请在 E1 中输入 Region,在 E2 中输入 East。

该公式会返回东部各行金额的平均值。如果东部订单的金额为 1200、800 和 1000,平均值就是 1000。将 E2 改为 West 后,平均值会自动更新。

=DAVERAGE(A1:C13, "Amount", E1:E2)

按条件求平均值

DAVERAGE 支持完整的条件工具集。要仅计算金额超过 1000 的东部订单的平均值,请构建一个两列条件范围:输入 Region 和 Amount 表头,然后在下方输入 East 和 >1000。

同一行的条件表示 AND,因此该函数会计算东部且金额超过 1000 的行的金额平均值。空白字段会被忽略,只有数值会参与平均值计算。

=DAVERAGE(A1:C13, "Amount", E1:F2)

DAVERAGE 没有匹配项时

与返回 0 的 DSUM 不同,DAVERAGE 在没有行匹配时会返回 #DIV/0! 错误,因为无法对零个值求平均值。

您可以先检查统计数量来避免此问题,或者将它包装在 IFERROR 中,以显示易于理解的消息,而不是错误代码。

=IFERROR(DAVERAGE(A1:C13,"Amount",E1:E2), "No matching records")

认识 DGET

DGET 有所不同:它会从符合条件的唯一一行的字段中返回一个单个值。

您可以像使用查找函数一样使用它。如果您有唯一键,例如订单 ID,DGET 就能从该确切记录中提取一个字段。它的优势和风险都源于这一点:必须恰好匹配一行。

=DGET(A1:C13, "Amount", E1:E2)

将 DGET 用作查找函数

假设您的表中每位销售人员都唯一,并且您想获取销售人员“萨拉”的金额。请在 E1 中输入 Rep,在 E2 中输入 Sara。

DGET 会找到萨拉所在的唯一一行,并返回她的金额。由于它可以同时根据多个条件列进行匹配,因此 DGET 能够处理普通 VLOOKUP 无法处理的多键查找。

=DGET(A1:C13, "Amount", E1:E2)

DGET 的两种错误情况

DGET 对必须恰好匹配一行这一点要求严格:

  • 如果没有行匹配,则返回 #VALUE!。
  • 如果有多行匹配,则返回 #NUM!。

这些错误其实很有用:它们会提醒您键缺失或不唯一。请收紧条件,直到恰好有一条记录符合条件。

多条件 DGET

要确保只有一个匹配项,请添加更多条件。如果您想获取东部地区萨拉的金额,可以使用两列条件范围:输入 Rep 和 Region 表头,然后在下方输入 Sara 和 East。

AND 逻辑会将结果缩小到一行,DGET 随后返回该行的金额。这就是 DGET 作为简洁的多键查找函数的工作方式。

=DGET(A1:C13, "Amount", E1:F2)

处理 DGET 错误

由于 DGET 在匹配项为零个或多个时会返回错误,因此请将它包装起来,以提供更顺畅的使用体验。IFERROR 可以将任一错误转换为易于理解的消息。

如果您想将重复匹配与未找到匹配区分开来,可以先使用 DCOUNTA 检查数量,再据此选择相应的消息。

=IFERROR(DGET(A1:C13,"Amount",E1:F2), "Not found or not unique")

选择合适的 D 函数

下面是选择合适工具的快速指南:

  • 需要匹配行的总计?请使用 DSUM。
  • 需要匹配行的数量?请使用 DCOUNT 或 DCOUNTA。
  • 需要匹配行的平均值?请使用 DAVERAGE。
  • 需要从唯一匹配行中获取一个值?请使用 DGET。

这四个函数共享一个条件范围,因此您可以构建一个由同一组条件单元格驱动的报告,同时完成求和、统计、求平均值和查找。

快速检查

您的 DGET 条件在表格中匹配了三行。DGET 会返回什么?

回顾

您已经完成了 D 函数系列的学习:

  • DAVERAGE 会计算匹配行的数值字段的平均值;没有匹配项时返回 #DIV/0!。
  • DGET 会从恰好一行匹配的结果中返回一个值;没有匹配项时返回 #VALUE!,有多个匹配项时返回 #NUM!。
  • 两者都使用 (database, field, criteria) 模式,并遵循条件范围的 AND/OR 规则。
  • 将它们包装在 IFERROR 中,即可生成整洁、专业的输出。

结合 DSUM 和 DCOUNT,您现在可以直接从结构化表格中运行完整的基于条件的报告。

免费开始

用 AI 导师学习 Excel — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「使用 DAVERAGE 和 DGET 求平均值并提取数据」课时是免费的吗?

是的 — 「使用 DAVERAGE 和 DGET 求平均值并提取数据」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。

「使用 DAVERAGE 和 DGET 求平均值并提取数据」这节课中我会学到什么?

计算匹配记录的平均值,并提取单个匹配值 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Excel Formulas Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「使用 DAVERAGE 和 DGET 求平均值并提取数据」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Excel Formulas Academy 课中编写并运行代码吗?

能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 设置条件范围
  2. 使用 DSUM 汇总记录
  3. 使用 DCOUNT 统计记录
  4. 使用 DAVERAGE 和 DGET 求平均值并提取数据
← 返回 Excel Formulas Academy