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

Power Query:如何按列名前两位动态合并并求和列?

问题

我处理后得到一份表格,每一列对应一个周数和相关数值。因为周数存在跨月的情况,出现了需要合并求和的列——比如列名“48”和“481”需要求和后合并成名为“48”的列。想请教:能不能根据列名的前两位数字动态求和?也就是把所有以XX开头的列(XX和XX1)合并求和,最终保留名为XX的列。

解决方案

当然可以实现,这里以Python的Pandas库(处理表格数据的常用工具)为例,给出具体实现方法:

实现逻辑

  • 以列名的前两位字符作为分组标识
  • 对每个分组内的所有列数值求和
  • 生成合并后的新表格

代码示例

import pandas as pd

# 模拟你的表格数据
df = pd.DataFrame({
    '48': [10, 20, 15],
    '481': [5, 8, 7],
    '49': [15, 25, 20],
    '50': [7, 12, 9],
    '501': [3, 6, 4]
})

# 按列名前两位分组并求和
merged_df = df.groupby(lambda col: col[:2], axis=1).sum()

# 输出合并后的结果
print(merged_df)

运行这段代码后,所有前两位相同的列会被自动合并求和,比如“48”和“481”的数值会相加,最终保留名为“48”的列,完全满足动态求和的需求。

如果是用Excel处理,也可以用类似逻辑:

  • 用LEFT函数提取列名的前两位
  • 结合SUMIF函数对匹配前两位的列进行求和
  • 或者使用Power Query的分组功能,按列名前两位分组实现自动合并

内容的提问来源于stack exchange,提问作者Artemy Panin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:45:36