将列数据重新格式化成多行
我不确定这是否可以轻松地在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,有没有简单的方法来做到这一点?
我觉得容易。 假设ID
在A1,请在Disease
和Gene1
之间插入一个新列,并从C2向下填充以适合*
:
=A2&B2
selectColumnsC:H并应用此处详述的“展平”过程。
在创build表之后,删除Column
列,并在它的位置插入两个新的列,在B2中:
=LEFT(A2)
在C2中:
=MID(A2,2,5)
select并复制表格的中间两列和select性粘贴…,数值在顶部。 删除ColumnA并过滤Value列以select和删除该列的空行。 如果需要,可将表格还原为范围,不论是否移除格式,并恢复列标签。
*
PS您将需要调整构成ID的string的长度 – 可能在将所有ID的长度相同时连接为零。 也许:
=TEXT(A2,"0000")&B2
然后再剥下这些:
=LEFT(A2,4)
并提取其余的:
=MID(A2,5,5)