Excel - 使用主键将多列分为两列

时间:2015-02-18 11:16:03

标签: excel

我有多个列,每个列的第一行都有一个标识符 每个人都可以有不同数量的条目 COL 1 user1 user 2 user3 user4
ROW 1 data1 data1 data1 data1
ROW 2 data2 data2 data2 data2
ROW 3 data3 data3 data3 data3
ROW 4 data4 data4 data4
ROW 5 data5 data5

我希望将所有数据放在一列中,并使用前一列name.eg:
的标识符 COL 1 user data
ROW 1 user1 data1
ROW 2 user1 data2
ROW 3 user1 data3
ROW 4 user1 data4
ROW 5 user1 data5
ROW 6 user2 data1
ROW 7 user2 data2
ROW 8 user2 data3
ROW 9 user3 data1
ROW 10 user3 data2
ROW 11 user3 data3
ROW 12 user3 data4
ROW 13 user3 data5

非常感谢协助

2 个答案:

答案 0 :(得分:0)

您可以应用详细描述的过程here,过滤表格以从Value列中选择和删除空白,按Column排序Value,输入A2并抄下来以适应:

="ROW "&ROW()-1  

然后更改标题,如果需要,选择全部,复制,选择性粘贴,值和转换为范围。

答案 1 :(得分:0)

或者,如果您更喜欢基于公式的解决方案,那么,假设您提供的表位于A1:D6(第1行中包含标题),请输入此数组公式** 在F2:

=IF(ROWS($1:1)>COUNTA($A$2:$D$6),"",INDEX($A$1:$D$1,MATCH(TRUE,MMULT(SUBTOTAL(3,OFFSET($A$2:$A$6,,COLUMN($A$2:$D$6)-MIN(COLUMN($A$2:$D$6)))),N(COLUMN($A$2:$D$6)>=TRANSPOSE(COLUMN($A$2:$D$6))))>=ROWS($1:1),0)))

然后复制,直到你开始得到结果的空白。

然后在G2中输入此(非数组)公式:

=IF(F2="","",INDEX(INDEX($A$2:$D$6,,MATCH(F2,$A$1:$D$1,0)),COUNTIF(F$2:F2,F2)))

并妥善复制。

请注意,此设置假设有两件事:

1)给定列中的任何空白单元格只会出现在该列的结尾;非空白条目之间永远不会有任何空白单元格。

2)该范围内的任何空白单元都是真正的"空白;例如,""由于这些细胞中的公式。

此致

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