如何在 Excel 中对相同日期的对应值求和?
在处理包含重复值日期条目的 Excel 数据集时,您可能会发现自己需要汇总与每个日期相关的定量数据。例如,假设您管理一组如下面范围 A1:B13 所示的订单记录,其中列 A 列出了日期(某些日期出现不止一次),列 B 记录了相关的订单数量。如果您想对每个唯一日期的总订单数进行求和以生成汇总结果,Excel 提供了几种方法来高效准确地完成此任务。此功能对于汇总每日销售、合并日志记录或任何需要基于相同时间点聚合数据的场景来说非常宝贵。选择正确的方法可以节省大量手动工作,并有助于确保数据准确性。
使用公式根据相同日期求和对应值
最直接的解决方案之一是使用 Excel 的 SUMIF 函数。这种方法特别适合用于创建一个动态摘要,当您的源数据发生变化时,该摘要会自动更新。公式方法易于应用,适用于不是过大的数据范围。请按以下步骤操作:
1. 在希望特定日期总数显示的空白单元格中输入以下公式(例如,单元格 E2):
=SUMIF($A$2:$A$13,D2,$B$2:$B$13)
在上述公式中:
- A2:A13:要评估的包含日期的区域
- B2:B13:要进行求和的值所在的区域
- D2:提供要求和日期的“条件”单元格
2. 拖动填充值手柄从您输入公式的单元格向下应用到所有唯一的日期。这将填充一个汇总列,其中每个单元格显示其对应日期的总求和值。见截图:
提示和注意事项:
- 如果您向原始范围添加新数据,请确保您的公式范围(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 后,请按以下步骤操作:
1. 选择要按相同日期求和的数据范围。(建议在继续之前备份您的原始数据,因为此工具将转换您的数据布局。)
2. 转到 Kutools > 合并与拆分 > 高级合并行。
3. 在对话框中,选择您的日期列并将其设置为主键。接下来,选择要进行求和的列(例如“订单”),并在计算部分将其操作设置为求和。此设置告诉 Kutools 按照相同的日期对行进行分组,并通过求和它们的数值来进行合并。
4. 单击确定。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。单击 按钮或按 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 for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...
Office Tab 为 Office 带来标签式界面,让你的工作更加轻松
- 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
- 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
- 办公效率提升50%,每天帮你减少上百次鼠标点击!