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

Excel表格快速重塑咨询:新手寻求宽表转窄表高效方法

宽表转窄表(单年份列)的高效方法

针对你需要将多年份列的表格转换为单年份列、国家列重复的需求,以下是两种高效实现方式:

Excel原生高效方案:Power Query(推荐)

这是处理这类格式重塑最快捷的工具,适合大数据量:

  • 选中你的数据源区域,点击「数据」选项卡 → 「从表格/区域」(旧版Excel找「获取和转换数据」组下的对应入口)
  • 在Power Query编辑器中,选中所有年份列(比如2020、2021这类列)
  • 切换到「转换」选项卡,点击「逆透视列」→ 「逆透视所选列」
  • 此时会生成「属性」和「值」两列,右键重命名「属性」为「年份」,「值」改为你对应的数据列名(比如「GDP」「人口」等)
  • 点击「关闭并上载」,直接得到目标格式的表格

DAX方案(适用于Power Pivot/BI场景)

如果是在Power Pivot或Power BI中处理,用DAX可以直接生成目标表:

静态写法(适合年份列少的情况)

假设原表名为OriginalTable,包含「国家」「2020」「2021」「2022」列:

目标表 = 
UNION(
    SELECTCOLUMNS(OriginalTable, "国家", [国家], "年份", "2020", "数值", [2020]),
    SELECTCOLUMNS(OriginalTable, "国家", [国家], "年份", "2021", "数值", [2021]),
    SELECTCOLUMNS(OriginalTable, "国家", [国家], "年份", "2022", "数值", [2022])
)

动态写法(适合年份列多的情况)

自动识别所有年份列并转换,无需逐个手动添加:

目标表 = 
VAR YearCols = 
    FILTER(
        COLUMNS(OriginalTable),
        NOT CONTAINSSTRING([Value], "国家") -- 排除非年份列,这里假设唯一非年份列是「国家」
    )
RETURN
GENERATE(
    OriginalTable,
    SELECTCOLUMNS(
        YearCols,
        "年份", [Value],
        "数值", CALCULATE(MAX(OriginalTable[[Value]]))
    )
)

如果数据量很小,也可以用手动复制+INDEX函数快速处理,但大数据量优先选Power Query或DAX方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 01:09:30