答案1
安德鲁,我不知道你的数据有多大,以及更新频率是多少;我想到了一些解决方案。1- 您可以将单元格从 Sheet1 链接到 Sheet2,然后就可以开始了,当您在 Sheet1 中输入时,Sheet2 中的值将立即更新。2- 您可以手动copy
输入数据并将paste special
其作为transposed
。3- 您可以使用下面的宏复制选定的范围并将其作为转置进行特殊粘贴。您需要根据需要安排要在代码中粘贴的范围。宏的结果将如下面的屏幕截图所示。
Sub Macro3()
Selection.Copy
Range("a14").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub
答案2
我个人更喜欢使用 Excel 内置函数且不使用脚本的解决方案。对于您来说,这应该是可行的,但有一些限制。您可以执行以下操作:
完成原始表格
在新选项卡上创建一个公式(假设源从单元格 A1 开始,并且新选项卡中的转置区域也从 A1 开始。否则相应地调整引用):
=OFFSET(Sheet1!$A$1, 列(A1) - 1, 行(A1) - 1)
复制公式以覆盖所有源单元格。
或者,通过右键单击来复制格式 - > 选择性粘贴 - > 粘贴格式并转置。
限制如下:
- 如果你在源区域添加或删除行,则必须重新复制并粘贴转置区域中的公式
- 每当你改变源文件的格式时,你也必须手动将其复制到转置区域
- 如果你的源中有空单元格,则转置区域将显示这些单元格
0
答案3
正如您的问题评论中提到的那样,使用内置工具PowerQuery / 获取和转换。
这转置步骤在 docs.microsoft.com 网站上有描述。
在转置之前,您可能需要“降级”导入表的列标题。
要更新转置表,您必须手动刷新它(数据 > 刷新全部)。