将列范围转换为行,然后在该行下方重复

时间:2017-03-14 18:31:11

标签: excel excel-formula rows offset

以下是我的数据现在的样子:

编辑:我忘了补充说我需要转置 - 每第n列,我需要再次开始转置。在这个例子中,我每2列都有它,但我的实际数据集是每3列。

Username    Product 1    Product 2    Service 1    Service 2   
Person 1    Name1        Name2        Name3        Name4
Person 2    Name5        Name6        Name7        Name8

这就是我想要的数据:

Username    Product  Service    (What I've come up with, formula-wise, for PRODUCT:)
Person 1    Name1    Name 3     OFFSET([Person 1],0,ROW($A$1))
Person 1    Name2    Name 4     OFFSET([Person 1],0,ROW($A$1)+1)
Person 2    Name5    Name 7     OFFSET([Person 2],0,ROW($A$1))
Person 2    Name6    Name 8     OFFSET([Person 2],0,ROW($A$1)+1)

我不知道如何使用VBA或宏,并且拥有大量数据,所以我也对手动转置它不感兴趣。有一个可以在这里工作的公式吗?

我一直在疯狂试图弄清楚OFFSET如何运作。现在,我在上表中看到了一个公式。在[Person 1]和[Person 2]区域内部实际上是一个INDEX-MATCH,因此OFFSET在正确的行上开始并在移动到下一个人时更新。然后我手动复制并粘贴下一组两行。如果这听起来过于复杂,那就更糟糕了 - 它不起作用。

我非常感谢能够帮助我的任何OFFSET专家,或者如果以前已经回答过这个问题,请指出我正确的方向。我一直在四处寻找,但不确定我是否使用了正确的搜索字词。

2 个答案:

答案 0 :(得分:2)

将这两个公式放在F2:G2,

=INDEX(A:A,INT((ROW(1:1)-1)/3)+2)
=INDEX(B:D, INT((ROW(1:1)-1)/3)+2,MOD(ROW(1:1)-1, 3)+1)

填写。

enter image description here

答案 1 :(得分:-2)

  

一个。这可以通过选择行和列来完成。

     

B中。通过右键单击选择来复制选定的单元格。

     

℃。选择要将转置数据复制到的目标范围的第一个单元格。

     

d。使用“选择性粘贴”粘贴复制的数据,转到“转置”功能。

     

电子。您可以通过右键单击目标单元格并从上下文菜单中选择“选择性粘贴”,然后选择“转置”来找到它。

     

这对你有用。让我知道它是怎么回事。