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

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

编辑:我忘了补充说,我需要转置是反复出现的 – 每隔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或macros,并有大量的数据,所以我也没有兴趣手动转置这个。 有没有可以在这里工作的公式?

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

我会非常感谢任何可以帮助我的OFFSET专家,或者如果之前已经回答了这个问题,我可以指出正确的方向。 我一直在环顾四周,但不知道如果我使用正确的search条件。

把这两个公式放在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) 

填好。

在这里输入图像说明

答:这可以简单地通过select行和列来完成。

B.通过右键单击select复制所选单元格。

C.select要复制转置数据的目标范围的第一个单元格。

D.使用select性粘贴粘贴复制的数据,转到转置function。

E.您可以通过右键单击目标单元格,然后从上下文菜单中selectselect性粘贴,然后select移调来find此信息。

这应该适合你。 让我知道它是如何去的。