将 Excel 表格的行转换为一个长列

将 Excel 表格的行转换为一个长列

请问,有人可以帮我节省几个小时的工作吗?!

我需要将表格中的单元格(从左到右、从上到下存储)全部组合成一个长长的垂直列。

此屏幕截图给出了一个更简单的例子:

将excel表格转换为一列

我必须使用的表格不像这个一样按逻辑顺序排列。我不想浪费时间进行复制和粘贴,但该怎么办呢?

答案1

将表格复制到剪贴板,粘贴到记事本中并保存文本文件。在 MSWord 中打开文本文件,查找制表符并将其替换为手动输入。

这会将内容平展到单列,然后您可以将它们复制到 Excel。 在此处输入图片描述

答案2

您可以使用免费的 Microsoft Power Query 插件(来自 Excel 2010)来转换数据范围。

  1. 选择范围
  2. 作为表格导入到 PowerQuery
  3. 选择所有列
  4. 在转换功能区上,选择“取消透视列”
  5. 选择值列,右键单击,删除其他列
  6. 将表格加载到 Excel

这里是 Power Query 脚本,它总结了上述步骤。

let
    Source = Excel.CurrentWorkbook(){[Name="table1"]}[Content],
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(Source, {}, "Attribute", "Value"),
    #"Removed Other Columns" = Table.SelectColumns(#"Unpivoted Columns",{"Value"})
in
    #"Removed Other Columns"

答案3

这应该适用于 8x8 的情况:

=INDEX($A$1:$H$8,ROUNDUP(ROW()/8,0),IF(MOD(ROW(),8)=0,8,MOD(ROW(),8)))

或者,如果您有表格,您只需使用“转换为范围”功能即可。

相关内容