如何在 Excel 中按一列或多列排序?详细指南

在 Excel 中整理数据时,经常需要根据某一列的数值、文本或日期调整记录的排列顺序。例如,可以按销售额从高到低排列销售记录,也可以按日期或名称对数据进行排序。对于日常操作,Excel 内置的排序功能通常就能满足需求;如果需要重复执行排序任务,或批量处理多个 Excel 文件,也可以使用 Python 自动完成。

本文将详细介绍如何在 Excel 中按一列或多列排序、从左到右进行横向排序,以及如何使用 Python 自动对数据排序,帮助你根据不同需求选择合适的方法,让数据整理更加高效。

如何在 Excel 中按某一列对整行排序

如果需要根据某一列的值调整 Excel 中行的顺序,可以直接使用 Excel 的排序功能。它支持升序和降序排列,并能在排序时保持每一行中的相关数据不变。对于简单的排序任务,可以直接使用快捷排序命令;如果需要指定排序列和排序规则,则可以使用排序对话框来细化要求。

1.按升序或降序排序

如果只需要按照某一列排序,最快捷的方法是使用数据选项卡中的排序命令。Excel 支持根据数据类型,按照升序或降序排列数字、文本和日期。

  • 第一步: 打开 Excel 工作表,在需要作为排序依据的列中选择一个单元格。例如,单击销售额列中的任意单元格,即可按销售收入对产品进行排序。
  • 第二步: 点击数据选项卡,根据需要选择以下排序方式:
    • 升序(从 A 到 Z): 数字从小到大排列,文本按字母顺序排列,日期从早到晚排列。
    • 降序(从 Z 到 A): 数字从大到小排列,文本按字母逆序排列,日期从晚到早排列。

设置升序或降序排列 Excel 中的行

  • 第三步: 如果 Excel 弹出排序警告对话框,选择扩展选定区域,然后点击排序。这样 Excel 就会移动整行数据,而不是只对当前列进行排序。

排序完成后,每行中的数据仍然与原来的记录对应。你也可以使用相同的方法,根据数量、名称、销售额或日期等其他条件对数据进行排序。

拓展阅读:Excel 如何快速删除重复行数据?6 种实用方法

2.使用排序对话框按指定列排序

如果需要更精确地控制排序范围、排序列和顺序,可以使用 Excel 的“排序”对话框。这种方法适合需要明确指定排序条件,或希望对特定数据区域进行排序的情况。

  • 第一步: 选中需要排序的数据区域,包括相关列。如果工作表中包含表头,也可以将表头一并选中。
  • 第二步: 点击数据→排序,打开排序对话框。
  • 第三步: 如果选中的数据包含表头,勾选数据包含标题,让 Excel 正确识别表头,避免将其当作普通数据参与排序。
  • 第四步: 设置排序条件:
    • 列: 选择用于排序的列,例如销售额。
    • 排序依据: 常规数值排序选择单元格值。
    • 次序: 根据数据类型选择升序、降序或其他合适的排序顺序。

设置 Excel 排序的具体规则

  • 第五步: 点击确定,应用排序设置。

相关阅读:如何删除 Excel 筛选器:6 种方法(手动与自动化)

如何在 Excel 中按多列排序

如果只按照一列排序,具有相同值的记录在这一排序条件下不会被进一步区分。为了让数据排列得更有条理,可以在 Excel 中设置多个排序级别:先按一列排序,再根据另一列的值排列具有相同主排序值的记录。

  • 第一步: 选中需要排序的数据区域,然后点击数据→排序。
  • 第二步: 设置主要排序条件。例如,在列中选择状态,并将次序设为升序。
  • 第三步: 点击添加条件,增加第二个排序级别。

添加新的排序条件

  • 第四步: 将第二个排序条件设为销售额,并选择降序,让收入较高的记录排在前面。

使用多层规则进行行的拍需

  • 第五步: 点击确定,完成数据排序。

排序完成后,记录会先按状态分组,再在每个状态组内按照收入从高到低排列。由于整行数据会一起移动,因此各列中的相关信息仍然保持对应,便于比较状态相同的记录。

在 Excel 中按多列排序行

如何在 Excel 中从左到右排序

有时,数据并不是按列向下排列,而是横向分布在工作表中。例如,月份可能依次排列在不同列中,销售数据则位于同一行。这种情况下,可以按照某一行中的数值对列进行排序,而不是按照某一列的值对整行排序。

  • 第一步: 选中需要进行横向排序的数据区域。
  • 第二步: 点击数据→排序,打开排序对话框。
  • 第三步: 点击选项,选择按行排序,然后点击确定。

在 Excel 中实现从左到右排序

  • 第四步: 在主要关键字或相应的排序行选项中,选择用于确定排序顺序的那一行。
  • 第五步: 选择需要的排序顺序,然后点击确定。

完成后,Excel 会根据所选行中的值调整列的顺序。如果数据存储在 Excel 表格对象中,可能需要先将其转换为普通区域,才能使用横向排序功能。

如何使用 Python 自动对 Excel 行排序

Excel 内置的排序功能适合日常操作,但如果需要反复执行相同的排序任务,或者批量处理多个工作簿,使用代码自动化会更加方便。Free Spire.XLS for Python 是一个免费的 Python Excel 处理组件,无需安装 Microsoft Excel,即可通过代码处理 Excel 文档。借助它的数据排序功能,你可以将排序规则集成到 Python 脚本中,减少重复操作。

按销售额从高到低对行排序

下面以一个产品库存工作表为例,使用 Free Spire.XLS for Python 按收入从高到低排列数据。该工作表包含 8 列,代码将对 A2:H15 区域进行排序,不会把第一行的表头包含在排序范围内。

运行代码前,需要先在 Python 环境中安装 Free Spire.XLS:

pip install Spire.Xls.Free

同时,准备一个包含待排序数据的 Excel 工作簿。

完整的 Python 代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from spire.xls.common import *
from spire.xls import *

# 创建 Workbook 对象,并加载一个 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("/input/示例文档.xlsx")

# 获取第一个工作表
sheet = workbook.Worksheets[0]

# 清除已有的排序条件
workbook.DataSorter.SortColumns.Clear()

# 按销售额列降序排序
workbook.DataSorter.SortColumns.Add(5, SortComparisonType.Values, OrderBy.Descending
)

# 对整个数据区域排序,不包含表头
workbook.DataSorter.Sort(sheet.Range["A2:H15"])

# 将排序结果保存到新文件
workbook.SaveToFile("/行排序.xlsx",ExcelVersion.Version2016)
workbook.Dispose()

使用 Free Spire.XLS 自动排序后的结果对比

代码的主要步骤如下:

  • 第一步: 创建 Workbook 对象,并使用 LoadFromFile() 加载源 Excel 文件。
  • 第二步: 获取第一个工作表,并清除已有的排序条件,避免之前设置的规则影响本次排序。
  • 第三步: 调用 SortColumns.Add() 设置排序列和顺序。由于索引从 0 开始,因此这里使用索引 5 指定 F 列,也就是第六列。SortComparisonType.Values 表示按照单元格的值进行比较,OrderBy.Descending 则表示按降序排列,让较大的值排在前面。
  • 第四步: 调用 DataSorter.Sort() 对 A2:H15 区域进行排序。
  • 第五步: 使用 SaveToFile() 将排序结果保存为新的 Excel 文件。

通过这种方式,可以将 Excel 排序操作集成到 Python 脚本中,便于重复执行相同的排序规则或进一步扩展为批量处理任务。

总结

在 Excel 中对行排序,可以根据指定条件调整数据的排列顺序,同时保持每行中相关信息的对应关系。对于简单的排序需求,可以直接使用 Excel 内置的排序功能;如果需要按多列排序或对横向数据排序,则可以通过排序对话框设置相应条件。但如果需要重复处理 Excel 文件,更加推荐使用 Free Spire.XLS for Python 编写代码,自动完成 Excel 数据排序。只要是根据实际需求去选择合适的方法,就可以让数据处理更加高效!