You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel批量处理1573组日期-值列,计算同日期对应值总和

高效汇总多组日期-值列的相同日期总和方法

方法1:Power Query(推荐,无代码、可刷新)

这是处理大量列最省心的方案:

  • 选中整个数据区域(包含第一列的基准日期),点击「数据」选项卡 → 「从表格/区域」,确认勾选「我的表格有标题」。
  • 在Power Query编辑器中,选中所有日期-值组列(从第二列开始的所有列),点击「转换」→ 「逆透视列」→ 「逆透视成对列」,设置属性列为「组日期」、值列为「组值」。
  • 添加自定义列:输入公式 =if [基准日期] = [组日期] then [组值] else 0(替换「基准日期」为你第一列的实际表头)。
  • 点击「开始」→ 「分组依据」,分组列选择「基准日期」,新列名设为「总和」,操作选择「求和」,列选择自定义列的名称。
  • 关闭并上载到Excel,后续数据更新只需右键点击表格 → 「刷新」。

方法2:动态数组公式(快速实现)

假设第一列(A列)是基准日期,从B列开始是「日期-值」组(B=日期1、C=值1,D=日期2、E=值2...):

  • 在A列对应的结果单元格(比如B2)输入公式:
    =SUM(IF($B$2:$XFD$186=A2,$C$2:$XFE$186,0))
  • 新版Excel直接回车即可自动填充,旧版Excel按 Ctrl+Shift+Enter 触发数组公式后下拉填充。
  • 说明:$B$2:$XFD$186 是所有组的日期列范围,$C$2:$XFE$186 是对应的值列范围,确保两个范围行数一致。

方法3:VBA宏(批量自动化)

适合需要重复执行该操作的场景:

  1. 按 Alt+F11 打开VBA编辑器,插入新模块。
  2. 粘贴以下代码:
Sub SumSameDates()
    Dim ws As Worksheet
    Dim lastRow As Long, lastCol As Long
    Dim dateArr(), resultArr()
    Dim i As Long, j As Long, k As Long
    Dim total As Double
    
    Set ws = ActiveSheet
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
    
    dateArr = ws.Range("A2:A" & lastRow).Value
    ReDim resultArr(1 To UBound(dateArr, 1), 1 To 1)
    
    For i = 1 To UBound(dateArr, 1)
        total = 0
        ' 遍历每组日期-值列(步长2)
        For j = 2 To lastCol Step 2
            For k = 2 To lastRow
                If ws.Cells(k, j).Value = dateArr(i, 1) Then
                    total = total + ws.Cells(k, j + 1).Value
                End If
            Next k
        Next j
        resultArr(i, 1) = total
    Next i
    
    ' 将结果写入B列,可自行修改目标列
    ws.Range("B2:B" & lastRow).Value = resultArr
    MsgBox "汇总完成!"
End Sub
  1. 返回Excel,按 F5 运行宏,结果会自动写入B列。

内容的提问来源于stack exchange,提问作者David Bock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 16:50:45