我不确定这是否可以在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,有没有一种简单的方法可以做到这一点?
答案 0 :(得分:1)
我觉得很容易。假设ID
在A1中,请在Disease
和Gene1
之间插入一个新列,然后从C2填充以适应*
:
=A2&B2
选择ColumnsC:H并应用详细here的'展平'流程。
创建表后,删除Column
列,并在其中插入两个新列,在B2中:
=LEFT(A2)
和C2:
=MID(A2,2,5)
选择并复制表格的中间两列,并在顶部粘贴特殊...,值。删除ColumnA并过滤“值”列以选择和删除该列的空白行。如果需要,将表格还原为范围,无论是否删除格式,并恢复列标签。
*
PS您需要调整构成ID的字符串长度 - 在连接时可能会前置零,以使所有ID具有相同的长度。也许:
=TEXT(A2,"0000")&B2
然后用以下内容删除它们:
=LEFT(A2,4)
并用以下内容提取其余部分:
=MID(A2,5,5)