Excel技术问询:如何将Jan-17至Mar-17的指定数据实现行转列
如何在Excel中将宽表转换为窄表(日期+数值格式)
嘿,这个转换其实用Excel里的**逆透视(Unpivot)**功能就能轻松搞定,我给你分两种方法详细说说,你可以根据自己的Excel版本选合适的:
方法一:使用Power Query(推荐,Excel 2016及以上版本)
这个方法高效且适合批量处理数据,步骤如下:
- 选中你的原始数据区域(一定要包含表头,比如
Jan-17、Feb-17、Mar-17这些月份标题) - 切换到数据选项卡,点击「从表格/区域」(如果弹出“表包含标题”的提示,勾选后点击确定)
- 在弹出的Power Query编辑器中,按住Ctrl键选中所有月份对应的列(也就是你要转换的那些横向日期列)
- 切换到转换选项卡,点击「逆透视列」→「逆透视所选列」
- 此时你会看到两列:「属性」(对应原来的月份日期)和「值」(对应每个日期的数值)
- 右键点击列标题,把「属性」重命名为
Date,「值」重命名为Value - 最后点击主页选项卡的「关闭并上载」,选择将结果上载到新工作表,就能得到你想要的格式了!
方法二:公式法(适用于所有Excel版本)
如果你的Excel版本没有Power Query,用公式也能实现,假设原始数据的月份在B1:D1,对应的数值在B2:D2:
- 在新工作表的
A2单元格输入公式:=INDEX($B$1:$D$1,INT((ROW()-2)/COUNTA($B$1:$D$1))+1) - 在
B2单元格输入公式:=INDEX($B$2:$D$2,INT((ROW()-2)/COUNTA($B$2:$D$2))+1) - 选中
A2:B2单元格,下拉填充直到出现重复的日期或空白行,就能生成所有日期和数值的对应行啦
如果你的原始数据有多行(比如多个不同的指标),Power Query的方法依然适用,逆透视后会自动把每一行的所有月份数据都展开成单独的行,非常省心。
内容的提问来源于stack exchange,提问作者Bob
相关产品推荐
相关产品推荐

