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

如何基于类别与续费月份双条件求和(含月度续费项叠加)

解决方案:按类别+续费月份求和并叠加月度续费

需求回顾

  • 按「类别」分组,统计每个类别下不同「续费月份」的数值总和
  • 同类别下标记为「月度续费」的项,需将其数值叠加到该类别所有月份的求和结果中

方法1:Excel公式实现

假设你的数据列对应:

  • A列:类别
  • B列:续费月份
  • C列:金额

步骤:

  1. 计算单类别+单月份的基础总和:
    使用SUMIFS函数统计指定类别和月份的金额:
    =SUMIFS(C:C, A:A, "Softwares / Apps / Sites", B:B, "3月")
    
  2. 提取该类别的月度续费金额:
    同样用SUMIFS筛选出对应类别的月度续费项:
    =SUMIFS(C:C, A:A, "Softwares / Apps / Sites", B:B, "月度续费")
    
  3. 合并得到最终结果:
    将两个公式相加,即可得到包含月度续费叠加后的金额:
    =SUMIFS(C:C, A:A, "Softwares / Apps / Sites", B:B, "3月") + SUMIFS(C:C, A:A, "Softwares / Apps / Sites", B:B, "月度续费")
    
  4. 批量处理所有类别和月份:
    可以结合数据透视表,添加自定义计算字段实现批量统计:
    • 插入数据透视表,行字段选「类别」和「续费月份」,值字段选「金额」求和
    • 添加计算字段,公式为=金额 + SUMIFS(金额, 类别, 当前类别, 续费月份, "月度续费")

方法2:Python(Pandas)批量处理

适合数据量较大的场景,代码示例如下:

import pandas as pd

# 读取数据(替换为你的数据源路径)
df = pd.read_excel("your_data.xlsx")

# 1. 计算每个类别的月度续费总金额
monthly_fee_map = df[df["续费月份"] == "月度续费"].groupby("类别")["金额"].sum()

# 2. 统计非月度续费的类别+月份基础金额
grouped_data = df[df["续费月份"] != "月度续费"].groupby(["类别", "续费月份"])["金额"].sum().reset_index()

# 3. 叠加月度续费到每个月份结果
grouped_data["最终金额"] = grouped_data.apply(
    lambda row: row["金额"] + monthly_fee_map.get(row["类别"], 0),
    axis=1
)

# 输出结果(也可保存为Excel)
print(grouped_data)
# grouped_data.to_excel("result.xlsx", index=False)

示例验证

以你提供的「Softwares / Apps / Sites」类别为例:

Softwares / Apps / Sites类别

  • 3月:26,50
  • 4月:24,90
  • 5月:30,60
  • 6月:64
  • 9月:24,90

内容的提问来源于stack exchange,提问作者César Costa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:45:53