将包含多列的行转换为每行包含一列的多行

将包含多列的行转换为每行包含一列的多行

我有一个很长的数据列表,如下所示:

User1    Item1    Item2    Item3

User2    Item1    Item2    #NUM! (This is a failed formula)

User3    Item1    #NUM!    #NUM!

我想将每一行变成 1-3 个不同的行,如下所示:

User1    Item1
User1    Item2
User1    Item3
User2    Item1
User2    Item2
User3    Item1

有没有办法在 Excel 中本地执行此操作? VBA 解决方案也很好。

答案1

对于 Excel 2010 或 2013,我会使用 Power Query 插件来实现此目的。从 Excel 2016 开始,Power Query 内置于“获取和转换”部分下的数据功能区中。

Power Query 可以从 Excel 表开始。它的“转换”功能区上有一个“取消透视其他列”命令,可以执行您想要的操作。

https://support.office.com/en-us/article/Unpivot-columns-Power-Query-0f7bad4b-9ea1-49c1-9d95-f588221c7098?ui=en-US

相关内容