在 Excel 中,如何将某一行元素后的整行转置并将它们堆叠成一个大列?

在 Excel 中,如何将某一行元素后的整行转置并将它们堆叠成一个大列?

这是我想要做的一个例子。

Area    Y       M   D1  D2  D3  D3  D5  D6
Barisal 1953    11  0   0   4   16  0   2 
Barisal 1953    12  35  14  9   0   0   0 
Barisal 1954    1   0   1   16  10  0   0

我想将上面的表格变成这样:

Area    Y       M   D
Barisal 1953    11  0
Barisal 1953    11  0
Barisal 1953    11  4
Barisal 1953    11  16
Barisal 1953    11  0
Barisal 1953    11  2
Barisal 1953    12  35
Barisal 1953    12  14
Barisal 1953    12  9
Barisal 1953    12  0
Barisal 1953    12  0
Barisal 1953    12  0
Barisal 1954    1   0
Barisal 1954    1   1
Barisal 1954    1   16
Barisal 1954    1   10
Barisal 1954    1   0
Barisal 1954    1   0

因此,我想将月份(地区和年份)列中的单元格扩展其后面的天数。然后转置并将所有日期单元格堆叠到一列中。

老天爷,除了经过上千步之外,我不知道该怎么做。我拥有的数据集是这样的降雨数据,但有数千行和 30-31 天的列。

答案1

使用 Power Query/Get and Transform 只需单击几下即可完成。

如果使用 Ctrl-T 将数据转换成表格对象,效果会最好。

  • 选择数据或数据范围中的单元格。
  • 单击数据功能区 > 获取和转换组 > 从表/范围
  • 数据加载到 Power Query 编辑器中。
  • 选择前三列
  • 单击“转换”>“取消透视”下拉菜单>“取消透视其他列”
  • 根据您的喜好重命名列,或者不重命名。
  • 保存查询,数据将加载到工作簿中。

如果向原始表中添加更多数据,只需刷新查询即可。

在此处输入图片描述

在此处输入图片描述

相关内容