【问题标题】:how to copy and paste data from horizontal to vertical如何将数据从水平复制和粘贴到垂直
【发布时间】:2020-01-11 01:57:09
【问题描述】:

我的原始电子表格中的数据是水平列出的。例如:

A B C D E

F G H G I

J K L M N

O P Q R S

我想以垂直方式排列这张桌子。像下面这样:

A

B

C

D

E

F

G

【问题讨论】:

  • 欢迎来到 SO。请注意这不是代码编写服务,因此请阅读以下内容:How to AskHow to Create a Minimal Reproducible Example。提供您尝试过的代码,如果/当您遇到问题/错误时也发布它们。
  • 查看this answer 中的代码以帮助您入门。
  • 您的表格是锯齿状的,还是所有行的列数都相同?
  • 嗨,所有行都有相同的编号。具有值的列数。

标签: excel vba


【解决方案1】:

这可以通过 INDEX 和一些数学来实现:

=INDEX($A$1:$E$4,ROUNDUP(ROW(1:1)/COLUMNS($A$1:$E4),0),MOD(ROW(1:1)-1,COLUMNS($A$1:$E4))+1)

解释:

  • ROUNDUP(ROW(1:1)/COLUMNS($A$1:$E4),0):向下拖动时创建重复序列:1,1,1,1,1,2,2,2,2,2...。

  • MOD(ROW(1:1)-1,COLUMNS($A$1:$E4))+1:向下拖动时创建重复序列:1,2,3,4,5,1,2,3,4,5...。

This question 还解释了这些重复序列的创建。

【讨论】:

  • 很棒的功能!在答案中包含公式的细分会很有用,这样可以更清楚地了解它是如何工作的。顺便说一句,您可以用 COLUMNS($A$1:$E$4) 替换 5 的实例,这也可以更轻松地实现命名范围的动态调整大小,以便进行更高级的计算。
  • @Tragamor 是的,我考虑过使用 COLUMNS,这是个好主意。
  • @BigBen 非常感谢,我是社区的新手,我会确保从下次开始遵循正确的提问规则。至于这个,你救了我。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-12
  • 1970-01-01
  • 2016-02-04
  • 2012-11-06
相关资源
最近更新 更多