首页 > Excel专区 > Excel教程 >

excel表格的排序规则与排序技术

Excel教程 2022-01-04 21:48:38

在Excel中,我们可以使用“排序”功能方便地对数据进行排序。

通常,我们可以使用“开始”选项卡“编辑”组“排序和筛选”中的命令,如图1所示。

图1

也可以使用“数据”选项卡“排序和筛选”组中的排序命令,如图2所示。

图2

然而,有时排序的结果不会像我们想像中的那样,这就需要了解Excel对不同类型数据的排序顺序。

Excel对不同类型数据的排序顺序

如下图3所示,对不同类型的数据进行了升序和降序排列。

图3

以升序排列为例,从中我们可以发现下面的规律:

首先排序的是数字,按从小到大的顺序排列。因为Excel是以序列数来存储日期的,因此日期参与数字的排序。

其次排序的是数字和字母混合的文本。其先后次序为:

先是作为文本处理的数字:0 1 2 3 4 5 6 7 8 9

然后是空格、感叹号和特殊符号:

最后是字母,按字母表先后顺序排列并区分大小写:

A B C D E F G H I J K L MN O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z

撇号(’)和连字符(-)被忽略,但是如果两个文本字符串除连字符外完全相同,则包含连字符的文本排在后面。

接着是布尔值,其中FALSE在前,TRUE在后。

然后是错误值,如#DIV/0!和#REF!。

最后是空单元格。无论升序还是降序,空单元格总排在最后。

降序排列的基本顺序与上面的相反,如图4所示。

图4

排序中的误区和问题

在排序过程中,我们可能有一些想当然的情况导致排序与想像中的不同,也可能会遇到一些结果有差异的问题。

如下图5所示的数据:

图5

可能认为Excel会为我们排序成图6所示的结果。

图6

但实际上的结果如图7所示。

图7

从上文中排序顺序的解,我们应该能够理解此时Excel的排序顺序为什么与我们想像的不同。

有时候Excel排序时似乎没有将第1个数据参与排序,如下图8所示。

图8

结果本来应该是1 2 3 4 5 6 7 8 9,但9并没有参与排序。

这是因为在“排序”对话框中,选取了“数据包含标题”复选框,如图9所示。此时,Excel将最顶端的9当成了标题,没有将其排序。

图9

Excel能够自动感知认为应该包含在排序中的单元格。此时,Excel会弹出对话框询问是否扩展选定区域(如图10所示),不会要求具体增加的单元格,而是直接扩展并加入其认为需要的单元格并排序,这有可能不符合你的要求。因此,不应该将控制权交由Excel处理,你必须能够确定需要排序的范围。

图10

Excel能够自动感知类似数字的文本,如本文开头的图3所示。此时,Excel会弹出如图11所示的对话框,询问是否将类似数字的文本与数字一样处理。

图11

如果像如图11所示,选取“分别将数字和以文本形式存储的数字排序”,那么对于本文开头图3所示的示例,即为图3中呈现的结果。如果选取“将任何类似数字的内容排序”,那么对于图3所要排序的数据,如果要求以升序排列,那么结果如图12所示。

图12

排序技术示例

自定义排序

如下图13所示,要求单元格区域B2:D10中的数据以城市为关键字按单元格B13:B17的顺序排列。

图13

首先,自定义排序序列。

如图14所示,在“Excel选项”的“常用”选项卡中,单击“编辑自定义列表”。

图14

在自定义序列的“选项”中,导入单元格区域B13:B17中的内容,如图15所示。当然,也可以单击“添加”按钮,按顺序手动输入序列。

图15

然后,选中要排序的单元格区域B2:D10,调出“排序”对话框。在“主要关键字”中选择“城市”,在“次序”中选择“自定义序列”,如图16所示。

图16

在弹出的如图15所示的自定义序列选项框中,选择刚才自定义的序列,单击“确定”,如图17所示。

图17

单击“确定”,结果如图18所示。

图18

块排序

如下图19所示,需要根据学号对每个学生进行排序,在排序时每个学生的学号、姓名、性别、班级、成绩都要在一起。

图19

首先,创建一个辅助列,使用每个学生的学号填充该列相应的单元格。

在单元格C3中的公式如下:

=IF(A3=”学号”,B3,C2)

下拉至数据单元格底端,结果如下图20所示。

图20

然后,选择所有数据单元格进行排序,如下图21所示。

图21

主要关键字选列C,不要选取“数据包含标题”,单击“确定”,结果如下图22所示。

图22

自动更新排序

如下图23所示,单元格B2:B10中的数值改变时,列D和列E中的排序数据会自动更新。

图23

实现上述效果主要是两个数组公式。

在单元格D2:D10中输入数组公式:

=SMALL(B2:B10,ROW(INDIRECT(“1:”& ROWS(B2:B10))))

在单元格E2:E10中输入数组公式:

=LARGE(B2:B10,ROW(INDIRECT(“1:”& ROWS(B2:B10))))


标签: Excel图表制作Excel常用函数excel数据透视表excel教程

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.