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


0

拜托,有人可以帮我节省几个小时的工作吗?

我需要将单元格放在一个表中(从左到右,从上到下存储),并将它们全部合并成一个长的垂直列。

此屏幕快照给出了一个更简单的示例:

将Excel表转换为一列

我必须使用的表不是逻辑顺序的。我不想在复制和粘贴上浪费时间,但是如何?


2
您所需的操作称为“不旋转”或“反向旋转”,您可以在线找到很多资源。
朱塔什(MátéJuhász)

Answers:


2

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

  1. 选择范围
  2. 导入为表格以进行功率查询
  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"

1

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

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


非常感谢您的回复。虽然我还没有解决它尚未
geeky1

0

这在您的8x8情况下应该可以使用:

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.