Excel SUMIFS 按包含日期的销售额进行按日汇总:当天 0 点及以上至次日 0 点以下

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

关于本文
本文是通过利用生成式 AI 的自动化生成流程创建的。依据 Microsoft Support 的 SUMIFS 语法及多条件求和。由于提示资料中未记载使用日期时间边界条件进行按日汇总的示例,以下公式和预期结果未经实际设备验证。

验证状态:spec_checked — SUMIFS 语法已通过官方信息确认。使用日期时间范围的汇总示例尚未执行。

如果日期时间列的值中包含时间,仅以日期为条件进行精确匹配时,有时无法汇总同一天的明细。例如,如果要汇总的单元格为 2026/10/20 00:00,而明细为 2026/10/20 09:15,则由于时间部分不同,它们并非相同的值。

在按日汇总中,将目标日期的上午 0 点及以上、次日上午 0 点以下指定为范围。即包含下限但不包含上限。这样既能将目标日期的最后时刻包含在范围内,又能排除次日 0 点整的明细。

首先用 4 行明细进行测试

在一个新工作表中,输入以下虚拟明细。在 A 列放置日期时间,在 B 列放置销售额。请在 D2 中输入要汇总的日期 2026/10/20。

A列:日期时间B列:销售额
2026/10/20 00:00100
2026/10/20 09:15250
2026/10/20 23:59300
2026/10/21 00:00900

在 E2 中输入以下公式:

=SUMIFS($B$2:$B$5,$A$2:$A$5,">="&D2,$A$2:$A$5,"<"&D2+1)

期望结果(未执行):预计 E2 将变为 650。它将对 10 月 20 日的 3 行进行求和,并排除 10 月 21 日 0 点的 900。

SUMIFS 是一个用于对指定条件范围内符合条件的行,求出对应求和范围内数值总和的函数。此公式中的第一个参数 $B$2:$B$5 是求和范围,第二个参数 $A$2:$A$5 是条件范围。随后的 ">="&D2 和 "<"&D2+1 是该条件范围的两个条件。

  • ">="&D2 用于指定与 D2 日期相同或之后的时间或数值。

  • "<"&D2+1 用于指定早于 D2 加一天后的数值。

在 Excel 中,日期和时间作为数字处理,时间表示为一天的十进制部分。因此,如果 D2 仅包含日期,则 D2+1 即为次日凌晨 0 点。以日期的次日作为上限并通过 < 进行比较,这样就会包含 23 点时段的值,而不会包含次日 0 点整的值。

公式中的 & 将比较运算符与单元格的值连接起来,以创建条件字符串。例如,如果 D2 是 10 月 20 日,则下限条件为“大于或等于 10 月 20 日”,上限条件为“小于 10 月 21 日”。固定范围的 $ 确保了将公式复制到其他单元格时引用地址不会发生偏移。如果在制作将汇总日期复制到 D2 以外单元格的表格,请根据实际目的调整日期单元格的引用方式。

在时间序列上理解边界

下图展示了 10 月 20 日的目标范围与上限。从中可以确认“次日 0 点不计入前一日”这一边界判定逻辑。

flowchart LR
    A["10/20 00:00<br/>下限:含む"] --> B["10/20の日中<br/>対象範囲"] --> C["10/21 00:00<br/>上限:含まない"]

包含最左侧的时间点,但不包含最右侧的时间点。该图表示的是汇总范围的边界,而明细是否能落入该范围内,前提是 A 列的值在 Excel 中被识别为了日期时间。

对比完全匹配的公式与结果

对比相同明细下,将条件更改为日期完全匹配的情况。

=SUMIFS($B$2:$B$5,$A$2:$A$5,D2)

此公式用于查找 A 列的值等于 D2 的行。如果 D2 是 10 月 20 日上午 0 点,那么带有具体时间的 9 点 15 分或 23 点 59 分将无法匹配。在上方虚拟表格中的预期示例(未执行)是仅对上午 0 点的行进行求和得到的 100。另一方面,范围条件的公式预期会汇总同天的 3 行,结果为 650。

在核对差异时,除了目标日的上午 0 点、白天的行以及 23 点时段的行之外,还要准备次日上午 0 点的行。请确认范围条件的结果是否同时满足“包含目标日的 3 行”以及“不包含次日 0 点”。即使在增加行数时,通过额外添加 1 行非汇总目标日的明细来验证边界判定,也能更容易发现上限条件的错误。

更改日期后再次确认

接下来将 D2 修改为 2026/10/21。在 4 行的示例中,预期示例(未执行)显示次日份额的合计为 900。这是因为 10 月 21 日 0 点被包含在了新汇总日的下限中。你可以确认,前一天作为上限被排除的同一行,在次日的汇总中会被纳入计算。

这个对比表明,该公式不仅仅是“忽略了时间”,而是切分出了从指定日开始到次日开始之间的区间。替换日期单元格并检查结果,即可验证单日的边界是否连续。此外,如果在 D2 中输入了具体时间,则起始位置将不再是上午 0 点。用于按天汇总的单元格中请仅输入日期。

当总计不符时检查值的类型与范围

即使单元格的显示格式是日期时间,如果其值是字符串,有时也无法与数字日期范围进行预期的比较。仅凭显示格式无法判定,因此请在其他单元格中 =ISNUMBER(A2)来检查 A2 是否被识别为数字。如果是 FALSE,请检查 CSV 导入时的转换等情况。如果需要转换,建议不要直接修改原始数据,而是通过复制表格来测试转换和汇总结果,这样更容易撤销更改。

此外,在 SUMIFS 中,要确保求和区域与各个条件区域的大小一致。例如,如果求和区域是 B2:B5,那么日期的条件区域也应该是 A2:A5。如果区域的起始行或结束行错位,会导致行数据对应错误,或者汇总了意料之外的区域。

SUMIFS 的第一个参数是求和区域。如果将公式从 SUMIF 进行更改等,请检查参数顺序是否颠倒。添加条件时,继续成对添加“条件区域、条件”。官方文档指出最多可以指定 127 对区域和条件,但即使增加日期以外的条件,也需要确保各个区域的大小保持一致。

日期输入可能会受到区域设置和输入方法的影响。10/11/2026请避免使用容易引起歧义的输入,并确认 D2 是否被识别为预期的日期。如果在粘贴公式时出错,请同时检查工作簿中现有公式所使用的参数分隔符。

在用于业务汇总之前

如果在日常销售报告中明细包含时间,那么比起完全匹配,“大于等于当天且小于第二天”的范围条件更符合目的。如果将汇总日期设置为单元格引用,就可以通过更改该单元格来查看每天的结果。如果需要添加经办人或商品等条件,也请将对应的条件区域和条件对添加到 SUMIFS 中,并确认各个区域对应相同的行。

在结算处理中,切勿仅凭汇总值做出判断,而应按目标日期筛选明细,并核对行与金额。特别需要确认的是:日期是否未变成文本、次日 0 点的行是否未混入前一天、范围的末端是否延伸到了同一行。如果明细较多或原始数据格式不稳定,在将汇总公式纳入业务之前,还必须确定导入后的日期时间转换方法以及核对步骤。

总结

要按日汇总带日期的销售明细,请在 SUMIFS 中指定大于或等于指定日期当天凌晨 0 点、小于第二天凌晨 0 点。请首先使用虚拟明细确认同一天不同时间的数据已被求和,且排除了次日 0 点的数据。应用于实际数据时,请先核对日期时间是否被识别为数字、目标行与汇总值是否一致,然后再用于结算处理。

官方信息与一手资料

示例代码

实现 / README 和执行步骤

文档信息

文章??
Excel SUMIFS 按包含日期的销售额进行按日汇总:当天 0 点及以上至次日 0 点以下
?布日期
更新日期
来源
https://papanda925.com/?p=18169&lang=zh

?可: ?于本站?有相??利的正文及原??表,除非?有?明,可依据 CC BY 4.0 使用。本文可能包含使用生成式AI?建或??的内容。若代??有?可声明,或?接的GitHub???定了?可,?代?以??可?准。引用内容、第三方?料、?片及商?不在本?可范?内。 使用政策

标题和URL已复制