Excel – 将列复制到行

我在excel表格中有3列,如下所示

原始数据

我需要在一个单独的表格下面的格式输出

OUTPUT

我很好用VB脚本或只使用Excelfunction。 我能得到一些帮助吗?

试试这个macros。 将macros放在常规的代码模块(插入>模块)中。 调整范围以适应您的情况。

Sub rearrange() Dim cel As Range, tgt As Range Set cel = ActiveSheet.Range("A1") Set tgt = ActiveSheet.Range("D1") Do While Len(cel) > 0 tgt = cel tgt.Offset(1, 0) = cel.Offset(0, 1) & cel.Offset(0, 2) Set cel = cel.Offset(1, 0) Set tgt = tgt.Offset(2, 0) Loop ActiveSheet.Range("A:C").Delete End Sub 

如果你不打算这样做,这是一个简单的解决scheme。

我没有访问MS-Excel,所以我不能给你确切的答案。 但我希望这有助于。

脚步:

  1. 在表的右边添加一个新的具有连接函数的列,例如,合并单元格b1和c1,使用=Concatenate(b1,c1)并将此结果保存在单元格D1中。 也为其他行做一个复制粘贴function。
  2. 将您的select复制到您想要结果的新工作表中。
  3. 使用特殊粘贴只粘贴复制的单元格的值而不包含论坛。 这确保它不会引用原始单元格或相对更改。
  4. 使用转置function可以在粘贴数据的同时更改最终输出的结果内容。 类似的一个这里 。

如果你需要定期做这个,这个方法是不合适的。 用VBA脚本你会更好。 但是我从事Excel工作已经很长时间了,所以我无法帮到你。