跳至主要内容

如何在 Excel 中对相同日期的对应值求和?

Author: Xiaoyang Last Modified: 2025-07-31

在处理包含重复值日期条目的 Excel 数据集时,您可能会发现自己需要汇总与每个日期相关的定量数据。例如,假设您管理一组如下面范围 A1:B13 所示的订单记录,其中列 A 列出了日期(某些日期出现不止一次),列 B 记录了相关的订单数量。如果您想对每个唯一日期的总订单数进行求和以生成汇总结果,Excel 提供了几种方法来高效准确地完成此任务。此功能对于汇总每日销售、合并日志记录或任何需要基于相同时间点聚合数据的场景来说非常宝贵。选择正确的方法可以节省大量手动工作,并有助于确保数据准确性。

sum corresponding values with same date


使用公式根据相同日期求和对应值

最直接的解决方案之一是使用 Excel 的 SUMIF 函数。这种方法特别适合用于创建一个动态摘要,当您的源数据发生变化时,该摘要会自动更新。公式方法易于应用,适用于不是过大的数据范围。请按以下步骤操作:

1. 在希望特定日期总数显示的空白单元格中输入以下公式(例如,单元格 E2):

=SUMIF($A$2:$A$13,D2,$B$2:$B$13)

enter a formula sum relative values based on same date

在上述公式中:

  • A2:A13:要评估的包含日期的区域
  • B2:B13:要进行求和的值所在的区域
  • D2:提供要求和日期的“条件”单元格

2. 拖动填充值手柄从您输入公式的单元格向下应用到所有唯一的日期。这将填充一个汇总列,其中每个单元格显示其对应日期的总求和值。见截图:

drag and fill the formula to other cells

提示和注意事项:

  • 如果您向原始范围添加新数据,请确保您的公式范围(A2:A13, B2:B13)相应更新。
  • 如果您使用结构化表格,请引用表格字段名称以获得更大的灵活性(例如,=SUMIF(Table1[Date], D2, Table1[Amount]))。
  • 如果您的数据包含错误(例如文本条目或空单元格),请验证源单元格内容以确保准确求和。
  • 这种方法最适合小型到中型的数据集;非常大的数据集可能通过数据透视表更快地进行汇总。
  • 如果您在 D2 中使用 UNIQUE 函数(Excel365/2021+)列出不同的日期,请使用:=UNIQUE(A2:A13),然后应用 SUMIF 公式。

使用 Kutools for Excel 根据相同日期求和对应值

如果您已经安装了 Kutools for Excel,高级组合行工具可以使这项任务更加简单。该解决方案允许您通过任何关键字段(在本例中为日期)合并行,并自动求和对应的值,为您节省时间并减少公式错误的可能性。它特别适用于那些经常需要汇总大范围数据或执行重复组合和计算操作的用户。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

安装 Kutools for Excel 后,请按以下步骤操作:

1. 选择要按相同日期求和的数据范围。(建议在继续之前备份您的原始数据,因为此工具将转换您的数据布局。)

2. 转到 Kutools > 合并与拆分 > 高级合并行

click Advanced Combine Rows feature of kutools

3. 在对话框中,选择您的日期列并将其设置为主键。接下来,选择要进行求和的列(例如“订单”),并在计算部分将其操作设置为求和。此设置告诉 Kutools 按照相同的日期对行进行分组,并通过求和它们的数值来进行合并。

specify the option in the dialog box

4. 单击确定。Kutools 将立即生成汇总列表,以便对于每个唯一日期,所有相应的金额值都在一行中求和。见下图:

original data arrow right sumif same date by kutools
优点轻松组合和计算数据,只需最少的手动干预。对于那些定期需要对不同字段类型进行分组和汇总的用户特别有帮助,并提供了除求和之外的操作选项,例如平均值、计数或查找最大值/最小值。

使用 VBA 代码根据相同日期求和对应值

对于寻求自动化或可编程方法的用户,VBA(Visual Basic for Applications)提供了一种灵活的方式来按日期求和值并将摘要导出到新范围。VBA 适用于处理重复任务、处理大型数据集或将汇总集成到更广泛的工作流程中——特别是当内置公式或功能不足以满足您的需求时。

1. 单击开发工具 > Visual Basic 打开 Microsoft Visual Basic for Applications 编辑器。在窗口中,单击插入 > 模块并将以下代码粘贴到模块中:

Sub SumValuesByDate()
    Dim SourceRange As Range
    Dim OutputRange As Range
    Dim Dict As Object
    Dim Cell As Range
    Dim iRow As Long
    Dim LastRow As Long
    Dim ws As Worksheet
    Dim kDate As Variant
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = Application.ActiveSheet
    
    ' Prompt for source data range containing dates and values
    Set SourceRange = Application.InputBox("Select the source data range (dates in first column, values in second):", xTitleId, ws.Range("A2:B13").Address, Type:=8)
    
    If SourceRange Is Nothing Then Exit Sub
    
    ' Prompt for output location
    Set OutputRange = Application.InputBox("Select the cell to output summary (top-left cell):", xTitleId, "E1", Type:=8)
    
    If OutputRange Is Nothing Then Exit Sub
    
    Set Dict = CreateObject("Scripting.Dictionary")
    
    ' Loop through data and sum by date
    For iRow = 1 To SourceRange.Rows.Count
        kDate = SourceRange.Cells(iRow, 1).Value
        If kDate <> "" And IsDate(kDate) Then
            If Dict.Exists(kDate) Then
                Dict(kDate) = Dict(kDate) + SourceRange.Cells(iRow, 2).Value
            Else
                Dict.Add kDate, SourceRange.Cells(iRow, 2).Value
            End If
        End If
    Next
    
    ' Write header
    OutputRange.Cells(1, 1).Value = "Date"
    OutputRange.Cells(1, 2).Value = "Sum"
    
    ' Write result to output range
    iRow = 2
    For Each kDate In Dict.Keys
        OutputRange.Cells(iRow, 1).Value = kDate
        OutputRange.Cells(iRow, 2).Value = Dict(kDate)
        iRow = iRow + 1
    Next
End Sub

2。单击 Run button 按钮或按 F5 运行宏。

3. 对话框将提示您选择原始数据范围(确保日期在第一列,值在第二列)。然后,另一个对话框允许您指定输出结果的位置(例如,单元格 E1)。

4. 确认后,将从您选择的输出单元格开始生成日期及其对应值求和的汇总表。

提示和错误提醒:

  • 此宏自动处理列表中任意位置的重复日期。
  • 如果您选择了会覆盖原始数据的输出位置,宏不会阻止覆盖——请务必选择空白区域。
  • 宏会跳过日期列中的空白或非日期值;确保您的数据干净以获得最佳结果。
  • 此方法最适合自动化重复的汇总过程或集成到批量数据操作任务中。

当您需要自动化的批量处理或希望避免手动干预时,VBA 是最好的选择。它是大规模或定期重复数据合并的绝佳选择。然而,如果您只需要偶尔的汇总,公式或数据透视表方法可能更简单。


使用数据透视表根据相同日期求和对应值

数据透视表提供了一种便捷且无需公式的方式,只需点击几下即可按日期对数据进行分组并计算求和。它特别适用于大型数据集或您希望交互式探索和分析数据的情况。当您的数据发生变化时,数据透视表可以自动刷新,使其适合持续报告和仪表板。

1. 选择包括标题在内的原始数据范围(例如,A1:B13)。

2. 转到插入选项卡并选择数据透视表。在对话框中,确认您的数据范围并选择放置数据透视表的位置(新工作表或现有工作表)。

3. 在数据透视表字段列表中,将日期字段拖入区域,并将相应的订单(或您的值字段)拖入区域。Excel 将自动为每个唯一日期求和值。

4. 当您的原始数据发生变化时,要更新数据透视表结果,请右键单击数据透视表并选择刷新

优点 数据透视表方法不需要函数或代码,并支持交互式过滤、排序和分组以进行更深入的数据分析。它适用于小型和大型数据集,具有可扩展性和可靠性。
缺点 不太灵活于将计算直接集成到单元格公式中,一些用户可能需要时间熟悉数据透视表界面。

故障排除和实用建议:

  • 确保您的数据范围包括标题和一致的数据类型。
  • 如果数据透视表未按预期显示唯一日期,请检查隐藏格式或使用“取消组合”。
  • 您可以添加多个计算字段或按月/季度/年分组,以实现更广泛的汇总。

最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!