【问题标题】:Transpose range of columns into rows, then repeat below that row将列范围转换为行,然后在该行下方重复
【发布时间】:2017-03-14 18:31:11
【问题描述】:

这是我的数据现在的样子:

编辑:我忘了补充说,我的转置需要反复出现 - 每第 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 专家,或者如果之前已经回答过这个问题,可以为我指出正确的方向。我一直在环顾四周,但不确定我是否使用了正确的搜索字词。

【问题讨论】:

  • 这称为反向枢轴,Excel 有执行此操作的工具,请参阅:stackoverflow.com/questions/20541905/…
  • 谢谢!我以前没听过这个词,但这听起来像是我的问题:) 将查看您链接的文章
  • 另一个注意事项:OFFSET 是一个易变函数,应避免大量使用,因为它会在每次 excel 重新计算时重新计算,而像 @Jeeped 给出的 INDEX 公式不是易变的,只会当他们引用的数据发生变化时重新计算。
  • 感谢您让我认识 Scott。我对 INDEX MATCH 很满意,但没有在其他迭代中使用它——我想我应该在研究 OFFSET 之前先研究一下

标签: excel excel-formula rows offset


【解决方案1】:

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

填写。

【讨论】:

  • 谢谢!我会试一试,让你知道它是怎么回事
  • 你太棒了!非常感谢!我有一种感觉 ROW 开始发挥作用,但我一直在努力使用关系公式
【解决方案2】:

A.这可以简单地通过选择行和列来完成。

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

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

D.使用选择性粘贴粘贴复制的数据,转到转置功能。

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

这应该适合你。告诉我进展如何。

【讨论】:

  • 这不会为输出提供所需的 OP,它只会将行转换为列,将列转换为行。这不是所需的输出。
猜你喜欢
  • 2016-11-19
  • 1970-01-01
  • 1970-01-01
  • 2013-10-01
  • 2018-05-06
  • 2015-08-06
  • 1970-01-01
  • 2014-09-25
相关资源
最近更新 更多