0Pricing
Excel Formulas Academy · 课时

条件函数中的日期范围

使用日期区间逻辑,在指定期间内求和或计数

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

按时间段筛选

实际报告几乎总会询问某个时间范围:本季度的销售额、上月的订单数、两个日期之间的注册数。您已经学过的条件函数——SUMIFS、COUNTIFS、AVERAGEIFS——只要掌握如何表达日期范围,就能轻松处理这些需求。

关键在于,日期范围实际上是同一日期列上的两个条件:不早于起始日期,以及不晚于结束日期。

日期只是数字

电子表格将日期存储为序列号——第 1 天是 1900 年 1 月 1 日(Google 表格中为 1899 年),之后每一天加 1。因此,您可以像比较普通数字一样,使用 > 和 < 比较日期。

所以,1 月 1 日之后其实就是大于该日期对应序列号的序列号。这正是日期筛选能够生效的关键。

计算两个日期之间的总和

假设 A 列存放订单日期,C 列存放金额。要汇总 2024 年 1 月的销售额,需要将 A 列提供两次:一次表示不早于 1 月 1 日,另一次表示不晚于 1 月 31 日。

请将日期放入 DATE(year, month, day) 函数中,这样无论使用哪种区域格式,都不会产生歧义。这两个条件会形成 AND 关系,只匹配该月份的行。

=SUMIFS(C:C, A:A, ">="&DATE(2024,1,1), A:A, "<="&DATE(2024,1,31))

为什么要使用 DATE() 和 & 符号

您可能会尝试直接输入 ">=1/1/2024"。这种写法通常有效,但不够可靠——电子表格可能将其读取为文本,或误解日期中日和月的顺序。

稳妥的写法是 ">="&DATE(2024,1,1)。DATE 函数会生成真实的序列号,而 & 会将运算符与它连接起来。在 Excel 和 Google 表格中,无论使用哪种区域设置,这种写法都很可靠。

=COUNTIFS(A:A, ">="&DATE(2024,1,1), A:A, "<="&DATE(2024,1,31))

从单元格提取日期

对于固定报告,直接写入日期没有问题;但灵活的报告应从单元格读取起始日期和结束日期。将起始日期放入 F1,将结束日期放入 F2。

现在,时间段由工作表控制。更改 F1 或 F2 后,所有总计都会重新计算。和往常一样,请使用 & 将运算符与单元格连接——不要将单元格名称放在引号内。

=SUMIFS(C:C, A:A, ">="&F1, A:A, "<="&F2)

开放式范围

有时您只需要一个边界。从某个日期起的所有内容使用单个大于或等于条件。截至某个日期的所有内容使用单个小于或等于条件。

这会统计 F1 日期当天及之后的所有订单,没有上限——适用于“上线以来的销售额”这类指标。

=COUNTIFS(A:A, ">="&F1)

将日期与其他条件组合

日期条件可以自由地与文本和数字条件组合。要汇总日期范围内东部区域的销售额,只需在两个日期条件对旁边添加区域条件对。

条件的顺序不影响结果——Excel 会将所有条件作为一个大的 AND 进行计算。这里的三个条件对共用同一个平均范围或求和范围。

=SUMIFS(C:C, B:B, "East", A:A, ">="&F1, A:A, "<="&F2)

按月份或年份筛选

要汇总整整一年,请将边界设置为该年的第一天和最后一天。使用 DATE 设置起始日期,并设置时间段的结束日期。

对于单个月份,请使用该月第一天作为下限,并使用下一个月的第一天配合严格的 "<" 作为上限——这是避免操心每个月有 28、30 还是 31 天的简便方法。

=SUMIFS(C:C, A:A, ">="&DATE(2024,3,1), A:A, "<"&DATE(2024,4,1))

使用 TODAY 的相对时间范围

对于滚动报告,请根据 TODAY() 构建边界。要统计最近 30 天内的订单,下限是今天减去 30 天,上限是今天。

由于工作表每次重新计算时 TODAY() 都会更新,时间范围会自动向前滚动——无需手动编辑。

=COUNTIFS(A:A, ">="&(TODAY()-30), A:A, "<="&TODAY())

注意时间成分

如果日期列实际存储的是日期和时间(例如时间戳),1 月 31 日晚些时候的行,其序列号会略大于 1 月 31 日整天对应的数值。使用 "<="&DATE(2024,1,31) 作为边界会将它排除。

安全的修复方法是使用次日严格小于模式:"<"&DATE(2024,2,1) 可以捕获整个 1 月内的每个时刻,包括时间戳。

=SUMIFS(C:C, A:A, ">="&DATE(2024,1,1), A:A, "<"&DATE(2024,2,1))

计算时间段内的平均值

同样的日期范围模式也适用于 AVERAGEIFS。要查找某个时间范围内的平均订单金额,请将金额列作为平均范围,并在日期列上添加两个日期条件。

请记住空时间段陷阱:如果日期范围内没有订单,AVERAGEIFS 会返回 #DIV/0!。将其包在 IFERROR 中,可以让没有数据的时间段不会影响按时间筛选的仪表板整洁度。

=IFERROR(AVERAGEIFS(C:C, A:A, ">="&F1, A:A, "<="&F2), "No data")

快速检查

回顾在条件函数中比较日期时的稳妥方法。

回顾:条件函数中的日期范围

现在您可以按时间筛选 SUMIFS、COUNTIFS 和 AVERAGEIFS:

  • 日期范围是同一日期列上的两个条件(>= 起始日期和 <= 结束日期)。
  • 使用 DATE(y,m,d) 构建日期,并使用 ">="& 添加运算符。
  • 对于月份,请使用次日严格小于的上限("<"&DATE(...)),以便处理时间戳。
  • 使用 TODAY() 创建最近 30 天之类的滚动时间范围。

至此,多条件 IFS 系列就全部完成了。

=SUMIFS(C:C, B:B, F3, A:A, ">="&F1, A:A, "<"&F2)

常见问题解答

「条件函数中的日期范围」课时是免费的吗?

是的 — 「条件函数中的日期范围」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。

「条件函数中的日期范围」这节课中我会学到什么?

使用日期区间逻辑,在指定期间内求和或计数 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

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

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

「条件函数中的日期范围」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 使用 SUMIFS 按多个条件求和
  2. 使用 COUNTIFS 按多个条件计数
  3. 使用 AVERAGEIFS 按多个条件求平均值
  4. 条件函数中的日期范围
← 返回 Excel Formulas Academy