如何在Excel中排序数据

使用日期、标题等来按不同的顺序排列数据

当你有大量的数据时,如果在工作簿中没有正确地排序,它可能会令人不知所措。学习在Excel中排序数据的不同方法,以提高效率,并使您的电子表格更容易管理。

本文说明适用于Excel 2019, 2016, 2013, 2010;Excel for Microsoft 365, Excel Online和Excel for Mac。

选择要排序的数据

人员在Excel中对漏斗中的数据进行排序的图示
乐动体育赞助Lifewire / Adrian Mangel

在对数据进行排序之前,Excel需要知道具体的排序结果范围这是要排序的。Excel会选择相关数据的区域,只要数据满足以下条件:

Excel确定数据区域是否有字段名称并从要排序的记录中排除该行。允许Excel选择要排序的范围可能有风险,尤其是对于难以检查的大量数据。

要确保选择了正确的数据,请在开始排序之前突出显示该范围。如果相同的范围将被重复排序,最好的方法是给它起个名字

排序键和排序顺序在Excel

排序需要使用排序关键字还有一个排序顺序。排序键是要排序的列中的数据,由列标题或字段名标识。在下图中,可能的排序键是学生ID、姓名、年龄、课程和开始月份。

显示快速排序选项的Excel截图

快速排序数据

要进行快速排序,请选择包含排序键的列中的单个单元格。然后选择您想要的数据排序方式。方法如下:

  1. 选择包含排序键的列中的单元格。
  2. 选择首页
  3. 选择排序与筛选打开排序选项的下拉菜单。
  4. 选择您想要排序数据的方式。按升序或降序选择。

当使用Sort & Filter时,下拉列表中的排序顺序选项将更改取决于类型数据在选定范围内。对于文本数据,选项是排序A到Z和排序Z到A。对于数字数据,选项是排序最小到最大和排序最大到最小。

在Excel中对多列数据进行排序

除了基于一列数据执行快速排序外,Excel的自定义排序功能还允许您通过定义多个来对多列进行排序排序键.在多列排序中,通过选择sort中的列标题来标识排序键对话框

与快速排序一样,排序键是通过在包含排序键的表中标识列标题或字段名来定义的。

按多列排序示例

在下面的示例中,A2到E12范围内的数据按两列数据排序。数据首先按名称排序,然后按年龄排序。

显示如何在Excel中对多个列进行排序的屏幕截图

要对多列数据进行排序,请执行以下操作:

  1. 突出显示要排序的单元格范围。在此示例中,选择了单元格A2至E12。
  2. 选择首页
  3. 选择排序与筛选打开下拉列表。
  4. 选择自定义排序打开“排序”对话框。
  5. 在旁边放一张支票我的数据有标题
  6. 在列标题下,选择排序向下箭头并选择的名字从下拉列表中删除,首先按Name列对数据进行排序。
  7. 在Sort On标题下,将设置保留为单元格的值.排序是基于表中的实际数据。
  8. 在“订单”标题下,选择向下箭头并选择Z一按降序对名称数据进行排序。
  9. 选择添加级别添加第二个排序选项。
  10. 在列标题下,选择然后按向下箭头并选择年龄按“年龄”列对名称重复的记录进行排序。
  11. 在订单标题下,选择从大到小从下拉列表中选择,以按降序对年龄数据进行排序。
  12. 选择好吧关闭对话框并对数据进行排序。

定义第二个排序键(如下例所示)的结果是,Name的两个值相同的记录字段使用“年龄”按降序排序字段。这使得21岁的威尔逊·J的记录比19岁的威尔逊·P的记录要早。

显示Excel中多列排序结果的屏幕截图

第一行:列标题或数据

在上面的示例中,选择用于排序的数据范围包括第一行数据上方的列标题。此行包含的数据与后续行中的数据不同。Excel确定第一行包含列标题,并调整了“排序”对话框中的可用选项以包含这些标题。

Excel使用格式化来确定一行是否包含列标题。在上面的示例中,列标题与其余行中的数据的字体不同。

如果第一行不包含标题,Excel将使用列字母(如列D或列E)作为Sort对话框的列选项中的选项。

Excel使用此差异来确定第一行是否为标题行。如果Excel出错,“排序”对话框包含“我的数据有标题”复选框,该复选框将覆盖此自动选择。

在Excel中按日期或时间对数据排序

除了按字母顺序排列文本数据或从大到小的数字,Excel的排序选项包括对日期值进行排序。可提供的排序订单的日期包括:

  • 升序:从最老到最新。
  • 降序:从最新到最旧。
一个屏幕截图,显示可以在Excel中按日期排序的数据

快速排序vs.排序对话框

格式化为数字数据的日期和时间,如上面示例中的Date借来的日期,使用快速排序方法对单个列进行排序。对于涉及多个日期或时间列的排序,使用Sort对话框以相同的方式对多列数字或文本数据进行排序。

按日期排序示例

要按日期从最早到最新的升序执行快速排序,请执行以下操作:

  1. 突出显示要排序的单元格范围。按照上面的示例,突出显示单元格G2到K7。
  2. 选择首页
  3. 选择排序与筛选打开下拉列表。
  4. 选择自定义排序打开“排序”对话框。
  5. 在列标题下,选择排序向下箭头并选择借来首先按借来的日期对数据进行排序。
  6. 在“排序”标题下,选择单元格的值.排序是基于表中的实际数据。
  7. 在“排序顺序”标题下,选择从老到新从下拉列表中。
  8. 选择好吧在对话框中关闭对话框并对数据进行排序。
显示按日期排序的数据结果的屏幕截图

如果按日期排序的结果不像预期的那样,那么包含sort键的列中的数据可能包含以文本数据而不是数字存储的日期或时间(日期和时间只是格式化的数字数据)。

混合数据和快速排序

在使用快速排序方法时,如果包含文本数据和数字数据的记录混合在一起,Excel会将包含文本数据的记录放在排序列表的底部,从而分别对数字和文本数据进行排序。

Excel还可能在排序结果中包含列标题,将它们解释为另一行文本数据,而不是数据表的字段名。

可能的分拣警告

如果使用Sort对话框,即使是对一列进行排序,Excel也可能会显示一条消息,警告您遇到了以文本形式存储的数据,并让您选择:

  • 把任何看起来像数字的东西作为数字排序。
  • 排序数字和数字存储为文本分开。

如果选择第一个选项,Excel将尝试将文本数据放在排序结果的正确位置。选择第二个选项,Excel将包含文本数据的记录放在排序结果的底部,就像快速排序一样。

排序数据按天的一周或按月在Excel

控件的内置自定义列表用于向工作表中添加日期或月份,您还可以使用该内置自定义列表按星期或月份对数据进行排序填充手柄.这些列表允许按日期或月份排序,而不是按字母顺序。

显示按月排序的Excel截图

与其他排序选项一样,按自定义列表排序的值可以按升序(周日到周六或1月到12月)或降序(周六到周日或12月到1月)显示。

在上图中,我们按照以下步骤对A2到E12范围内的数据样本按照一年中的月份进行排序:

  1. 突出显示要排序的单元格范围。
  2. 选择首页
  3. 选择排序与筛选打开下拉列表。
  4. 选择自定义排序打开“排序”对话框。
  5. 在列标题下,选择月开始从下拉列表中按月份对数据进行排序。
  6. 在“排序”标题下,选择单元格的值.排序是基于表中的实际数据。
  7. 在Order标题下,选择向下的箭头在默认A到Z选项旁边打开下拉菜单。
  8. 选择自定义列表打开“自定义列表”对话框。
  9. 在对话框的左侧窗口中,选择一月,二月,三月,四月
  10. 选择好吧要确认选择并返回“排序”对话框,请执行以下操作。
  11. 选择的列表(一月、二月、三月、四月)显示在Order标题下。
  12. 选择好吧关闭对话框并按月份对数据进行排序。

默认情况下,自定义列表仅以升序显示“自定义列表”对话框中的顺序。要在选择所需列表后使用自定义列表按降序对数据进行排序,以使其显示在“排序”对话框的“顺序”标题下,请执行以下操作:

  1. 选择显示列表旁边的向下箭头,例如一月,二月,三月,四月打开下拉菜单。
  2. 在菜单中,选择按降序显示的自定义列表选项,例如十二月,十一月,十月,九月
  3. 点击好吧使用自定义列表按降序对数据进行排序。

按行排序以在Excel中对列重新排序

如前面的排序选项所示,数据通常使用列标题或字段名进行排序。其结果是对数据的整个行或记录进行重新排序。Excel中一个不太为人所知、因此也很少使用的排序选项是按行排序,它的作用是重新排列工作表中从左到右的列的顺序。

按行排序的一个原因是为了匹配不同数据表之间的列顺序。如果列以同样的从左到右的顺序排列,那么比较记录或在表之间复制和移动数据就会更容易。

自定义列顺序

但是,由于值的升序和降序排序选项的限制,以正确的顺序获取列很少是一项简单的任务。通常,有必要使用自定义排序顺序,Excel中包含用于排序的选项按单元格或字体颜色或按条件格式对图标进行排序

告诉Excel列顺序的最简单方法是在数据表的上面或下面添加一行,其中包含指示列从左到右顺序的数字。然后,按行排序就变成了按照包含数字的行从最小到最大对列进行排序的简单问题。

一旦分类完成,添加的数字行可以很容易地删除

显示如何在Excel中使用排序重新排列列的屏幕截图

按行排序示例

在本系列关于Excel排序选项的数据示例中,学生ID列总是位于左边的第一个列,然后是姓名和年龄。

在这个实例中,如上图所示,已经向列添加了数字,以准备工作表对列重新排序,以便Program列位于左边的第一个,后面是Month Start、Name、Age和Student ID。

下面是如何更改列顺序:

  1. 插入空行在包含字段名的行上方。
  2. 在此新行中,从A列开始从左到右输入以下数字:5, 3, 4, 1, 2.
  3. 突出显示要排序的范围。在本例中,突出显示A2到E13。
  4. 选择首页
  5. 选择排序与筛选打开下拉列表。
  6. 选择自定义排序打开“排序”对话框。
  7. 选择选项打开“排序选项”对话框。
  8. 在方向部分,选择从左到右排序对工作表中的列从左到右排序。
  9. 选择好吧关闭“排序选项”对话框。
  10. 随着方向的改变,“排序”对话框中的“列”标题变为“行”
  11. 选择排序向下的箭头并选择第二行.这是包含自定义数字的行。
  12. 在“排序”标题下,选择单元格的值
  13. 在订单标题下,选择从最小到最大从下拉列表中以升序对第2行中的数字排序。
  14. 选择好吧关闭对话框并按第2行中的数字从左到右排序列。
  15. 列的顺序从Program开始,然后是Month Start、Name、Age和Student ID。
显示Excel中按列排序数据结果的屏幕截图

使用Excel的自定义排序选项重新排列列

虽然在Excel的Sort对话框中可以使用自定义排序,但当涉及到重新排序工作表中的列时,使用这些选项并不容易。控件中提供的用于创建自定义排序顺序的选项分类对话框将被删除按单元格颜色对数据进行排序、字体颜色和图标。

除非每一列已经应用了独特的格式(如不同的字体或单元格颜色),否则需要将格式添加到同一行中的单个单元格中,以便对每一列重新排序。

在Excel中使用字体颜色排序数据的屏幕截图

例如,要使用字体颜色来重新排列列:

  1. 选择每个字段名并更改每个字段的字体颜色。例如,将“项目”改为红色,“月开始”改为绿色,“姓名”改为蓝色,“年龄”改为橙色,“学生证”改为紫色。
  2. 在“排序”对话框中,选择排序并选择第二行
  3. 在“排序”标题下,选择字体颜色
  4. 在“顺序”标题下,手动设置字段名称颜色的顺序以匹配所需的列顺序。
  5. 排序之后,为每个字段名重置字体颜色。
这个页面有用吗?