Excel:将多列重新构造为两列(对于数据透视表)

时间:2014-05-23 03:43:54

标签: excel data-structures pivot

我的数据是这样的:

  Col1  |    Col2
   1    |    a,b,c
   2    |    d,e
   3    |    f

我希望它是这样的:

  Col1  |   Col2
   1    |   a
   1    |   b
   1    |   c
   2    |   d
   2    |   e
   3    |   f

我尝试过偏移和一般转置,但是还没有找到办法做到这一点。我有1000行(在成品中将有几千行),因此手动不是一种选择。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

或者,假设数据位于A1:B3中,请输入此数组公式** ,例如D1:

= IFERROR(INDEX($ A $ 1:$ A $ 3 MATCH(TRUE,MMULT(0+(ROW($ A $ 1:$ A $ 3)> = TRANSPOSE(ROW($ A $ 1:$ A $ 3) )),1 + LEN($ B $ 1:$ B $ 3)-LEN(SUBSTITUTE($ B $ 1:$ B $ 3, “”, “”)))> = ROWS($ 1:1),0)) , “”)

向下复制,直到你开始得到结果的空白。

然后,在E1中,这个(非数组)公式:

= IF(D1 = “”, “”,TRIM(MID(SUBSTITUTE(INDEX($ B $ 1:$ B $ 3 MATCH(D1,$ A $ 1:$ A $ 3,0)), “”, REPT(“”,41)),41 *(COUNTIF(D $ 1:D1,D1)-1)+1,41)))

根据需要复制。

此致

**数组公式的输入方式与“标准”公式的输入方式不同。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果你已经正确地完成了它,你会注意到Excel在公式周围放置了大括号{}(虽然不要尝试自己手动插入这些)。