Excel 能按颜色和数值双条件排序吗?

图6.14所示的工作表中包含了某班学生的100米短跑成绩和排名情况,其中女生被标示为黄色背景以示区别。现要求将黄色背景的单元格排在一起,然后再按短跑时间值升序排列。

图6.14 短跑成绩表

解题步骤

本例需求是将黄色背景的单元格排在一起,同时按短跑时间值升序排列,只要进入“排序”对话框,设置对应的两个条件即可,其中颜色条件放在上方,具体操作步骤如下。

1.选择A1:D12区域。

2.单击功能区的“开始”→“排序和筛选”→“自定义排序”,弹出“排序”对话框。

3.将第一排序条件的“主要关键字”设置为“姓名”,将“排序依据”设置为“单元格颜色”,然后在“次序”列表中选择“黄色”和“在顶端”,表示排序时将所有黄色单元格排在顶端,其他颜色的单元格按原来的顺序排列。图6.15是设置界面。

图6.15 设置第一排序条件

4.单击“添加条件”,然后将“次要关键字”设置为“时间”,其他选项保持默认值不变,最后单击“确定”按钮执行排序。图6.16是第二排序条件的设置界面,图6.17是排序结果。

图6.16 设置第二排序条件

图6.17 排序结果

知识扩展

1.按颜色排序包含单元格的背景颜色和单元格的字体颜色,可以二选一也可以两者同时使用。

2.Excel内置的按颜色排序只能一次把一种颜色的单元格排在一起,如果有10个颜色,要求每个颜色的单元格都排一起,那么应该添加10个排序条件。

如果要求10种颜色都各自排列在一起,使用Excel内置的功能相当困难,使用外置插件则瞬间完成,如Excel插件“E灵”可以一次性将所有颜色的单元格都按颜色排列在一起。

Excel 是否可以按夺冠次数多少对冠军降序排列?

图6.10中包含19届比赛的冠军榜,其中部分人员多次获得冠军。现要求按夺冠次数对各冠军的姓名降序排列,即获得冠军次数最多的人排在前面、最少的人排在后面,如果两人夺冠次数相同,那么数据源中最先出现的姓名排在前面。

图6.10 冠军榜

解题步骤

Excel本身并不支持按单元格字符的出现次数排序,因此只能借助COUNTIF函数辅助完成工作,具体操作步骤如下。

1.在C1单元格中输入“次数”。

2.在C2单元格中输入公式“=COUNTIF(B$2:B$20,B2)”,然后双击C2单元格的填充柄并将公式向下填充到C20。

3.选择C1:C20区域,然后单击功能区的“开始”→“筛选和排序”→“自定义排序”,此时Excel将弹出图6.11所示的“排序提醒”对话框,不做任何修改,单击“排序”按钮进入下一步界面。

图6.11 “排序提醒”对话框

4.在“排序”对话框中将“主要关键字”修改为“次数”,将“次序”修改为“降序”,然后单击“确定”按钮执行排序。图6.12是设置界面,图6.13则是排序结果。

图6.12 设置排序方式

图6.13 排序结果

5.删除辅助区域的所有单元格。

知识扩展

1.COUNTIF函数在本例中的功能是计算一个单元格的值在一个区域中的出现次数。为了确保公式下拉填充后返回结果总是正确的,第一参数必须使用B$2:B$20或$B$2:$B$20,而第二参数则必须采用相对引用。

2.在排序之前,如果只选择了一个连续区域中的部分单元格,启动“排序”对话框前会弹出对话框询问用户是以当前选定区域排序还是以扩展区域排序。扩展区域其实就是当前选区所在的整个数据区域,本例中的选区是C1:C20,其扩展区域是A1:C20。

Excel 是否可对工作表数据横向排序?

快速访问工具栏的“升序排序”、“降序排序”及“开始”选项卡中二级菜单“排序和筛选”下的子菜单“升序”和“降序”都无法实现横向排序。

图6.6中每个年级的成绩都是横向排列的,如何才能对它们降序排列呢?

图6.6 待排序的成绩表

解题步骤

Excel所有版本的排序工具都是默认纵向排序的,但可以进入“排序”对话框的“选项”窗口调整排序方向,具体步骤如下。

1.选中A1:J5区域。

2.单击功能区的“开始”→“排序和筛选”→“自定义排序”,弹出“排序”对话框。

3.单击“选项”按钮,弹出“排序选项”对话框,选择“按行排序”后单击“确定”按钮,返回“排序”对话框。图6.7是设置界面。

图6.7 选择按行排序

4.单击“主要关键字”右方的倒三角按钮,从弹出的列表中选择“行5”,然后将“次序”调整为“降序”,设置界面如图6.8所示。

图6.8 设置排序条件

5.单击“确定”按钮执行排序,结果如图6.9所示。

图6.9 排序结果

知识扩展

1.按列排序时,在“排列”对话框中的关键字会显示为列标题名称,而当“选项”中调整为“按行排序”后,关键字却不会显示为行标题,而是“行1”、“行2”……

2.如果使用多条件排序,每个条件的顺序相当重要。在“选项”按钮之前有“上移”和“下移”按钮,可以通过这两个按钮调整条件的顺序。

Excel 是否可按数值降序/生产线升序双条件排列数据?

图6.1中包含两条生产线的19名员工的捐款数据,现要求将这些数据按捐款额的大小降序排列,同时要确保A线的员工排在一起,B线的员工排在一起。

例如,A线职员B的捐款大于A线职员A的捐款,那么职员B应该排在职员A的前面;如果B线职员C的捐款大于A线职员A的捐款,那么它不能排在A线职员A和B的前面,而是要排在所有A线职工的后面。

图6.1 需要排序的数据

解题步骤

快速访问工具栏的“升序排序”、“降序排序”及“开始”选项卡中“排序和筛选”下的子菜单“升序”和“降序”都只能单条件排序。要执行多条件排序,需要调用“自定义排序”菜单,具体操作步骤如下。

1.选择A1:E20区域。

2.单击功能区的“开始”→“排序和筛选”,弹出“排序”对话框。

3.单击“主要关键字”右方的倒三角按钮,然后从列表中选择“生产线”,表示第一个排序条件是A列的生产线,“次序”保持默认的“升序”不变,设置界面如图6.2所示。

图6.2 设置第一排序条件

4.单击“添加条件”,然后将“次要关键字”设置为“捐款”,将“次序”调整为“降序”,设置界面如图6.3所示。

图6.3 设置第二排序条件

5.单击“确定”按钮执行排序,双条件排序效果如图6.4所示。

图6.4 排序结果

从图6.4中可以看出,排序时采用了双条件,优先条件是生产线名称,次要条件是捐款数额,所有数据都依照这两个条件调整顺序。

知识扩展

1.在“排序”对话框中,“数据包含标题”复选框默认是处于选中状态的,表示选区中的首行不参与排序。假设排序前只选择了B线的A11:E20区域,那么不能勾选此选项。

2.尽管看起来排序后的图6.4和数据源图6.1的A列未产生变化,但是在设置排序条件时仍然需要使用两个条件,其中一个条件用于限制 A 列升序排列。如果只用“捐款”单条件降序排列,生产线名称就会被打乱,形成图6.5所示的效果。

图6.5 单条件排序结果