在 Mac 版 Numbers 中使用 SUMIFS,对另一个工作表中日期范围内的值求和。引用源表格,对其日期列进行两次条件测试,并将次日设为不包含在内的上限,以涵盖最后一天的全天。

本指南汇总日期为 2026 年 4 月 10 日至 15 日的模拟对象数量,并将结果放在同一电子表格中的单独汇总工作表上。内容依据 Apple 当前的 Mac 版 Numbers 使用手册(其中标明 Numbers 15.4)和 Apple 的函数帮助文档编写。

设置源数据和日期边界

准备两个工作表,分别命名为 Activity 和 Summary。在 Activity 上,使用一个名为 Objects、带有一行表头的表格。在单元格 A1 中输入 Date,在 B1 中输入 Count。工作表名和表格名很重要,因为下面的公式会用到这两个名称。

在第 2 至 7 行输入以下示例值。将每个日期公式输入指定单元格,并将数量作为普通数字输入。使用 DATE(year, month, day) 可避免不同地区日期顺序造成的歧义。Apple 说明,DATE 无论“语言与地区”设置中的日期格式如何,都会一致地返回日期/时间值。DATE — Apple 函数帮助

行 A 列:日期公式 B 列:数量
2 =DATE(2026,4,9) 4
3 =DATE(2026,4,10) 6
4 =DATE(2026,4,12) 8
5 =DATE(2026,4,15) 5
6 =DATE(2026,4,15) 3
7 =DATE(2026,4,16) 9

在 Summary 上,准备一个名为 Window 的表格,并填写以下单元格。将 B4 留空,用于显示总数。上限设为 4 月 16 日,因为所需报告期在 4 月 15 日全天结束后才结束。

单元格 要输入的标签或值
A1 Setting
B1 Value
A2 Start date
B2 =DATE(2026,4,10)
A3 Stop before
B3 =DATE(2026,4,16)
A4 Object total

若要以易读格式显示日期,请选择日期单元格,然后在“格式”边栏中依次选择“单元格”→“数据格式”→“日期与时间”。选择日期显示格式;如有需要,将时间显示设为“无”。隐藏时间只会改变显示内容;Numbers 在计算时仍会使用底层时间值。在 Mac 版 Numbers 中设置日期、货币等格式

输入跨工作表 SUMIFS 公式

在 Summary 上的 Window 表格中选择 B4,并输入以下完整公式。按 Return 确认。Apple 说明,输入 = 可打开公式编辑器,按 Return 可保存公式。在 Mac 版 Numbers 中使用表格单元格中的数据计算值

=SUMIFS(Activity::Objects::B2:B7,Activity::Objects::A2:A7,\">=\"&B2,Activity::Objects::A2:A7,\"<\"&B3)

预期总数为 22 个对象:符合条件的数量是 6、8、5 和 3。4 月 9 日的数量早于起始日期;4 月 16 日的数量正好落在不包含的上限处。这些是示例输入和经过独立核验的计算结果,并非实际运行 Numbers 得出的结果。

公式可分为五个部分:

公式参数 用途
Activity::Objects::B2:B7 要相加的值
Activity::Objects::A2:A7 用于与起始日期比较的日期
">="&B2 纳入起始日期当日及之后的日期
Activity::Objects::A2:A7 再次测试同一组日期
\"<\"&B3 纳入上限之前的日期

只有满足所有条件时,SUMIFS 才会纳入对应的值。所有集合的大小必须相同,因此数量范围和两个日期范围都覆盖同样的六行。SUMIFS — Apple 函数帮助

带引号的比较运算符与单元格引用通过 & 连接。引用应放在引号之外:">="&B2 使用 B2 中的值;如果把整个表达式都放在引号内,得到的将是字面文本。Apple 说明,& 是用于连接字符串和单元格内容的运算符。添加和编辑公式 — Apple 函数帮助

通过选择单元格建立引用

如果源数据的名称不同,可在编辑公式时通过选择来建立引用:切换到源工作表,并为每个参数选择所需范围。在另一个工作表上选择单元格时,Numbers 会自动加入工作表名和表格名。其文档所述的结构为 Sheet::Table::Range。在 Mac 版 Numbers 中使用表格单元格中的数据计算值

在本例中,三个源数据引用都必须指向 Activity::Objects。未限定名称的 B2 和 B3 指向包含公式的汇总表中的边界单元格。本指南使用同一电子表格文稿中的工作表,因此引用中不包含外部文件名。

选择能涵盖预期最后一天的边界

Apple 将每个日期/时间值定义为同时包含日期和时间,即使显示时只呈现其中一项也是如此。因此,结束日期中隐藏的时间也会影响结果。参数和数值的类型 — Apple 函数帮助

对于按日历日计算的任务,根据这一行为,实用的规则是纳入首日的起始时刻,并排除次日的起始时刻。对于 4 月 10 日至 15 日的范围,将 4 月 10 日设为起始日期,将 4 月 16 日设为截止日期。无需选择 4 月 15 日的最后一秒。

目标任务 起始边界 上限 比较条件
纳入 4 月 10 日至 15 日 4 月 10 日午夜 4 月 16 日午夜 起始条件为 >=,截止条件为 <
只纳入 4 月 15 日 4 月 15 日午夜 4 月 16 日午夜 起始条件为 >=,截止条件为 <
纳入整个 4 月 4 月 1 日午夜 5 月 1 日午夜 起始条件为 >=,截止条件为 <

当 B3 包含你打算纳入的确切最后时刻时,像 "<="&B3 这样的包含式上限条件是合适的。如果该单元格包含 4 月 15 日午夜,那么 4 月 15 日稍后的记录就超出了边界。用示例数据可以说明差异:将数量为 3 的记录改为 4 月 15 日下午 4:30,采用次日作为不包含在内的上限仍会纳入这条记录;若上限设为 4 月 15 日午夜,则会将其排除,总数降至 19。

若要检查现有记录,请选择其日期单元格,并查看窗口底部的“智能单元格视图”。Apple 说明,其中会显示实际日期和时间,包括被显示格式隐藏的部分。在 Mac 版 Numbers 中设置日期、货币等格式

排查错误或意外的总数

按以下顺序检查设置,以便在修改公式逻辑前找出问题所在:

  1. 确认边界。 对于示例,B2 必须是 4 月 10 日,B3 必须是 4 月 16 日。截止边界早于或等于起始日期时,无法表示预期的时间段。
  2. 确认源表格。 检查每个源数据引用是否都指向 Activity::Objects。
  3. 确保行号对应。 使用 B2:B7 和 A2:A7,不要使用 A3:A8 这类错位范围。范围大小相同是必要条件;行位置对应才能确保每个数量与自己的日期配对。
  4. 检查日期值。 在空白单元格中使用以下公式测试可疑的源日期。
  5. 查看错误信息。 点击结果单元格中的错误图标查看详情,然后再替换表达式。
=ISDATE(Activity::Objects::A2)

如果表达式计算结果为日期,ISDATE 会返回 TRUE;否则会返回 FALSE。在本示例中,测试应返回 TRUE。如果返回 FALSE,请将该条目更正为真正的日期/时间值,并对其他可疑行重复检查。ISDATE — Apple 函数帮助

示例公式明确覆盖第 2 至 7 行。扩展数据时,请一并检查全部三个源数据范围。Apple 还特别提醒:对于使用分类的表格,如果在引用范围内添加行,除非更改引用,否则公式结果不会包含新行。在 Mac 版 Numbers 中使用表格单元格中的数据计算值

将计算结果与高亮和图表分开

此任务只需在一个单元格中得到一个总数。直接使用表格范围即可提供所需输入,无需构造数组。Apple 对集合的定义允许使用表格单元格范围或数组函数返回的数组,但 SUMIFS 仍要求集合大小相同。参数和数值的类型、SUMIFS

条件高亮会根据单元格的值改变其外观。请将日期条件放在计算中,而不要把填充颜色当作筛选条件。Apple 的高亮控制位于“格式”→“单元格”→“条件高亮显示”;如果多个规则匹配,将由第一个匹配规则决定外观。在 Mac 版 Numbers 中使用单元格条件

如果之后要比较多个报告时段,请先在表格单元格中计算每个时段的总数,再将这些结果制成图表。Numbers 图表使用表格数据,并会在数据变化时更新;Apple 也允许图表引用不同工作表中的表格。在 Mac 版 Numbers 中选择数据以创建图表

对于你自己的对象日志,请替换示例名称和范围,然后手动相加某个较短时段内符合条件的行,以核验一次。确认总数一致后,继续使用相同的边界规则:起始单元格填写首个纳入日,截止单元格填写首个排除日。

来源