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

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

图6.10 冠军榜

解题步骤

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

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

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

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

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

图6.11 “排序提醒”对话框

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

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

图6.12 设置排序方式

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

图6.13 排序结果

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

知识扩展

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

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