excel工作表怎样进行复杂的分类排序

2025-06-23 00:30:54
推荐回答(5个)
回答1:

1.如下图,需要对【日期】列进行升序排列,对【姓名】列进行降序排列。

2.选中所有数据区域,点击【数据】-【排序】。

3.因为选中的数据区域包含标题,所以勾选右上角的复选框。

4.如下图,选择【日期】列对【数值】进行【升序】排列。

5.点击左上角的【添加条件】。

6.选择【姓名】列对【数值】进行【降序】排列。

7.设置完毕后点击确定按钮,表格返回的数据就是对A列升序,对B列降序排列的结果。

回答2:

考虑建立辅助列,在空白处,如C1输入公式:

=RIGHT(A1,6)

截取数字部分进行排序

附图供参考,如有问题请详述,谢谢。


回答3:

排序的规则:文本会按照A、B、C、D的英文顺序排。纯数字,按大小排。你的数据属于文本,又要按后面的数字排。很难。
假设数据在E列,第二行起。可以在一空列做公式 =1*MID(E2,MATCH(TRUE,ISNUMBER(1*MID(E2,ROW($1:$9),1)),0),COUNT(1*MID(E2,ROW($1:$9),1))) 完成后按SHIFT+CTRL+回车,形成数组公式。把公式下拉至全列,就把数据后面的数字提取出来了,再把形成的纯数字排序,估计就可以了。

回答4:

如果你的e列数据的数字都是原数据后面8位的话可以用下面的方法。
在i1输入:
=right(e1,6)
然后下拉到表格底部。
之后对e列进行升序排列就可以了。

但是,如果数字的数据位数或者位置不确定的话,就不知道怎么弄了。

回答5:

你这个就必须要辅助了。
如果数字位数是固定的,可以使用right函数截取数字部分。
=right(a1,6)
如果位数不固定,就得看你的数字部分首位有没有0,如果没有0,可以使用lookup函数截取:
=LOOKUP(9E+307,--RIGHT(A1,ROW(1:15)))
如果有0,就麻烦一些……
然后按照辅助列为第一关键字,日期为第二关键字升序排序就好。