通过链接将一个工作表上的列转置为另一个工作表上的行

时间:2014-04-18 02:48:07

标签: excel excel-formula copy-paste transpose

我在工作表A中的A1:A10中有一列数据。在工作表B中,我有一个来自A1:J1的数据范围。我需要将工作表A中列的数据转换到工作表B中的数据范围。我可以选择粘贴并粘贴值,但我需要工作表A中的信息自动更新工作表B中的信息。

感谢任何帮助或建议。

2 个答案:

答案 0 :(得分:4)

请在工作表B中选择A1:J1并输入:

=TRANSPOSE('worksheet A'!A1:A10)  

使用 Ctrl + Shift + 输入

答案 1 :(得分:2)

复制此内容:

=INDEX(A!$A$1:$A$10, COLUMN())

进入工作表B中的单元格A1到J1(这样所有单元格都包含完全相同的公式)。

基本上,INDEX函数从工作表A中的垂直数组A1:A10中获取指定元素(工作表名称在感叹号之前指定)。选择哪个元素由第二个参数给出。在这里,我们只使用COLUMN()函数,它为A列返回1,为B列返回2,等等......

<强> 编辑:

如果您想使用其他数据列作为数据来源,只需将A!$A$1:$A$10替换为您喜欢的任何内容,例如: Sheet3!$C$10:$C$23

要将复制的数据放在不同的位置,请将上面的公式复制到所有目标单元格中​​,无论它们位于何处。但是:如果目标单元格未在列A中开始,则需要从COLUMN()返回的数字中减去偏移量,以便在第一个目标单元格中​​选择元素1。因此,例如,如果您要将数据放入单元格J5S5,则需要将此公式复制到每个单元格中:

=INDEX(A!$A$1:$A$10, COLUMN() - 9)

这是因为COLUMN()为列J返回10,但您希望该单元格包含源数据列的元素 1 ,因此我们减去9来获取在列K中,COLUMN()将返回11,减去9个产量2,因此INDEX(...)将返回该单元格的第二个数据元素,依此类推。