excel-使用额外维度转换(行到列)?

excel-使用额外维度转换(行到列)?,excel,Excel,是否可以将行转换为具有额外维度的列 想象一下表格: dimension | data 1 | data 2 | data 2 --------------------------------------- test | a | b | dummy | c | e | x user | a | d | john doe | v | | 我需要得到这个: d

是否可以将行转换为具有额外维度的列

想象一下表格:

dimension |  data 1 |  data 2 | data 2
---------------------------------------
  test    |     a   |    b    |
  dummy   |     c   |    e    |   x
  user    |     a   |    d    |
john doe  |     v   |         |  
我需要得到这个:

dimension |  data 
-------------------
  test    |     a  
  test    |     b  
  dummy   |     c
  dummy   |     e
  dummy   |     x
  user    |     a
  user    |     d
john doe  |     v

有内置的功能吗?或者我需要使用宏吗?

显然,这在VBA中更为简单,但也可以使用工作表公式来完成,即:

假设您的源表位于
A1:D5
(标题位于第1行),请在
F2
中输入此数组公式**

=IF(ROWS($1:1)>COUNTIF(B$2:D$5,”)””,INDEX(A$2:A$5,MATCH(ROWS($1:1),1+MMULT(0+(ROW(B$2:D$5)>转置(ROW(B$2:D$5)),MMULT(0+(B$2:D$5“),转置(COLUMN(B$2:D$5)^0())”)));

复制下来,直到你得到空白的结果

然后在
G2
中输入此公式:

=IF(F2=”“,”,索引(索引(B$2:D$5,匹配(F2,A$2:A$5,0)),COUNTIF(F$2:F2,F2))

按要求抄写

请注意,此设置假定给定维度不可能在数据列中的非空条目之间有空条目,例如data1和data3为非空,而data2为空。你提供的数据就是这种情况,因此这似乎是一个公平的假设

问候

**数组公式的输入方式与“标准”公式不同。不要只按ENTER键,而是先按住CTRL和SHIFT键,然后再按ENTER键。如果您做得正确,您会注意到Excel在公式周围放了一个大括号{}(尽管您自己不要尝试手动插入这些括号)。

可能重复oh yeaaah:)透视表:D thx。。。这对我帮助很大