2015-10-20 45 views
1

我不知道这是否可以很容易地在Excel中完成,但...我有一个文件:格式化列数据为多行

ID Disease Gene1 Gene2 Gene3 Gene4 Gene5 
1  T2DM  ABCD  ABCDE ABFJ  ASKL  ASLL 
2  T2DM  ASKFA BSDAW KWAS  JKS 
3  LDL  GJS  ZYRLA 

我想保持前两列和改造列Gene1通过Gene5到行,像这样:

ID Disease Gene 
1 T2DM  ABCD  
1 T2DM  ABCDE 
1 T2DM  ABFJ 
1 T2DM  ASKL 
1 T2DM  ASLL 
2 T2DM  ASKFA 
2 T2DM  BSDAW 
2 T2DM  KWAS 
2 T2DM  JKS 
3 LDL  GJS 
3 LDL  ZYRLA 

正如我有1000+的ID,有一个简单的方法来做到这一点?

回答

1

我觉得很简单。假设ID是A1,请插入新列DiseaseGene1之间和C2填充下来,以适应与*

=A2&B2 

选择ColumnsC:H,并应用了“扁平化”过程的详细here

在创建了表,删除Column列,并在其位置插入两个新的栏目,在B2:

=LEFT(A2) 

和C2:

=MID(A2,2,5) 

选择和复制中间的两个表格和选择性粘贴...的列,顶部的值。删除ColumnA并过滤Value列以选择和删除该列的空行。如果需要,可以将表格还原为范围,可以删除或不删除格式,然后恢复列标签。

* PS您将需要调整构成ID的字符串的长度 - 可能在将所有ID连接为相同长度时预先置零。也许:

=TEXT(A2,"0000")&B2 

再后来用剥离这些关:

=LEFT(A2,4) 

,并用提取的其余部分:

=MID(A2,5,5)