我想要对数据进行排序,但标准的Excel“A到Z”排序功能并没有削减它。我希望有人知道如何制作适合我需求的自定义排序。这是一个示例:
chrPos count
chr1_10000598 10
chr1_10000647 10
chr1_10001370 30
chr1_10001390 30
chr1_10001392 30
chr1_10001414 30
chr1_10001418 30
chr1_10001473 10
chr1_10001505 10
chr1_10001516 20
chr1_1000156 30
正如您所看到的,当使用内置排序功能时,最后一行不合适,这应该是第一行而不是最后一行。我认为添加第二层排序可以解决问题,但该层必须根据下划线后面的数字按升序值排序。
有什么想法吗?用R代替这可能会更容易吗?
编辑以添加评论中的详细信息:
排序是在下划线之后的数字部分上升,在chr数字部分上升(从1到22都包括),然后按顺序chrM_,chrX_和chrY_(也将其数字部分按升序排序) )。
下划线后面的数字部分最多可达8位数。
答案 0 :(得分:0)
假设{A}位于ColumnA中,请尝试帮助列:
chrPos
或者,对于评论中提到的其他要求:
=IF(FIND("_",A1)=5,CHAR(64+MID(A1,4,1)),CHAR(64+MID(A1,4,2)))&REPT("0",8-LEN(A1)+FIND("_",A1))&MID(A1,FIND("_",A1)+1,8)
然后选择辅助列,复制,选择特殊粘贴,顶部的值,并将其用于排序。