对区域或表中的数据进行排序

对区域或表中的数据进行排序

对数据进行排序是数据分析不可缺少的组成部分。 你可能需要执行以下操作:将名称列表按字母顺序排列;按从高到低的顺序编制产品存货水平列表,或按颜色或图标对行进行排序。 对数据进行排序有助于快速直观地显示数据并更好地理解数据,有助于组织并查找所需数据,有助于最终做出更有效的决策。

可以对一列或多列中的数据按文本(从 A 到 Z 或从 Z 到 A)、数字(从小到大或从大到小)以及日期和时间(从最旧到最新或从最新到最旧)进行排序。 还可以按自己创建的自定义序列(如大、中和小)或格式(包括单元格颜色、字体颜色或图标集)进行排序。

注意: 

您的浏览器不支持视频。 安装 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

对文本进行排序

  1. 在要排序的列中选择一个单元格。

  2. 在“数据”选项卡上的“排序和筛选”组中,执行下列操作之一:

    • 若要按升序快速排序,请单击 Excel 中的升序命令,按升序或最小数到最大数的顺序排序 (“从 A 到 Z 排序”)。

    • 若要按降序快速排序,请单击 Excel 中的降序命令,按降序或最大数到最小数的顺序排序 (“从 A 到 Z 排序”)。

注意: 可能的问题

  • 检查所有数据是否都存储为文本    如果要排序的列包含存储为数值的数字和存储为文本的数字,需要将其格式全部设置为数字或文本。 如果不应用此格式,存储为数值的数字将在存储为文本的数字之前排序。 若要将所有选定数据的格式设置为文本,请按 Ctrl+1 以启动“设置单元格格式”对话框,单击“数字”选项卡,然后在“类别”下单击“常规”、“数字”或“文本”。

  • 删除任何前导空格    在某些情况下,从其他应用程序导入的数据前面可能插入了前导空格。 对此类数据排序之前,请删除这些前导空格。 可以手动执行此操作,也可以使用 TRIM 函数进行。

  1. 在要排序的列中选择一个单元格。

  2. 在“数据”选项卡上的“排序和筛选”组中,执行下列操作之一:

    • 要按从小到大的顺序对数字进行排序,请单击 Excel 中的升序命令,按升序或最小数到最大数的顺序排序 (“从最小到最大排序”)。

    • 要按从大到小的顺序对数字进行排序,请单击 Excel 中的降序命令,按降序或最大数到最小数的顺序排序 (“从最大到最小排序”)。

注意: 

  • 可能的问题   

  • 检查所有数字是否都存储为数值    如果结果与你的预期不相符,该列可能包含存储为文本,而不是存储为数值的数字。 例如,从某些会计系统导入的负数或带有前导撇号 (') 的数字存储为文本。 有关详细信息,请参阅通过应用数字格式来修复文本格式的数字

  1. 在要排序的列中选择一个单元格。

  2. 在“数据”选项卡上的“排序和筛选”组中,执行下列操作之一:

    • 若要按从早到晚的顺序对日期或时间排序,请单击 Excel 中的升序命令,按升序或最小数到最大数的顺序排序 (“从最旧到最新排序”)。

    • 若要按从晚到早的顺序对日期或时间排序,请单击 Excel 中的降序命令,按降序或最大数到最小数的顺序排序 (“从最新到最旧排序”)。

注意: 可能的问题   

  • 检查日期和时间是否存储为日期或时间    如果结果与你的预期不相符,该列可能包含存储为文本,而不是存储为日期或时间的日期或时间。 若要让 Excel 对日期和时间正确排序,列中的所有日期和时间都必须存储为日期或时间序列数字。 如果 Excel 无法将某个值识别为日期或时间值,说明该日期或时间存储为文本。 有关详细信息,请参阅将存储为文本的日期转换为日期格式

  • 如果要按星期日期进行排序,请设置单元格格式以显示星期日期。 如果要按星期日期进行排序,而不考虑日期,请使用 TEXT 函数将它们转换为文本。 但是,TEXT 函数会返回一个文本值,因此排序操作将基于字母数字数据。 有关详细信息,请参阅按星期日期显示日期

如果你有希望按一列或一行中的相同值组合在一起的数据,然后对这组相等值内的其他列或行排序,你可能希望按多列或多行排序。 例如,如果有一个“部门”列和“雇员”列,可以先按“部门”排序(将同一部门中的所有员工汇集在一起),然后按姓名排序(按字母顺序排列每个部门中的姓名)。 最多可以按 64 列排序。

注意: 为了获得最佳结果,要排序的单元格区域应包含列标题。

  1. 选择数据区域内的任意单元格。

    在两列或多列中选择一个区域

  2. “数据”选项卡的“排序和筛选”组中,单击“排序”

    “数据”选项卡上的“排序和筛选”组

  3. 在“排序”对话框中“”下的“排序依据”框中,选择要排序的第一列。

    选择第一列进行排序

  4. “排序依据”下,选择排序类型。 执行下列操作之一:

    • 若要按文本、数字或日期和时间进行排序,请选择“数值”

    • 若要按格式进行排序,请选择“单元格颜色”“字体颜色”“单元格图标”

  5. “次序”下,选择排序方式。 执行下列操作之一:

    • 对于文本值,选择“升序”“降序”

    • 对于数值,选择“升序”“降序”

    • 对于日期或时间值,选择“升序”“降序”

    • 若要基于自定义序列进行排序,请选择“自定义序列”

  6. 若要添加作为排序依据的另一列,请单击“添加条件”,然后重复步骤三到五。

    单击“添加级别”。

  7. 若要复制作为排序依据的列,请选择该条目,然后单击“复制条件”。

  8. 若要删除作为排序依据的列,请选择该条目,然后单击“删除条件”。

    注意: 必须至少在列表中保留一个条目。

  9. 若要更改列的排序顺序,请选择一个条目,然后单击“选项”按钮旁的“向上”或“向下”箭头更改顺序。

    序列中较大的条目将排在较小条目的前面。

如果按单元格颜色或字体颜色手动或有条件地设置了单元格区域或表列的格式,那么,也可以按这些颜色进行排序。 此外,还可以按使用条件格式创建的图标集进行排序。

  1. 在要排序的列中选择一个单元格。

  2. “数据”选项卡的“排序和筛选”组中,单击“排序”

    “数据”选项卡上的“排序和筛选”组

  3. 在“排序”对话框中“”下的“排序依据”框中,选择要排序的列。

    在“列”下,单击“排序依据”,然后选择一个选项

  4. 在“排序依据”下,选择“单元格颜色”、“字体颜色”或“单元格图标”。

    在“排序对象”下,选择一个选项

  5. 在“次序”下,单击该按钮旁边的箭头,然后根据格式的类型,选择单元格颜色、字体颜色或单元格图标。

  6. 接着,选择排序方式。 执行下列操作之一:

    • 若要将单元格颜色、字体颜色或图标移到顶部或左侧,对列进行排序,请选择“在顶端”;对行进行排序,请选择“在左侧”。

    • 若要将单元格颜色、字体颜色或图标移到底部或右侧,对列进行排序,请选择“在底端”;对行进行排序,请选择“在右侧”。

      注意: 没有默认的单元格颜色、字体颜色或图标排序次序。 必须为每个排序操作定义您需要的顺序。

  7. 若要指定要作为排序依据的下一个单元格颜色、字体颜色或图标,请单击“添加条件”,然后重复步骤三到步骤五。

    确保在“然后依据”框中选择同一列,并且在“次序”下进行同样的选择。

    对要包括在排序中的每个额外的单元格颜色、字体颜色或图标,重复上述步骤。

您可以使用自定义列表按用户定义的顺序进行排序。 例如,某个列可能包含您要用作排序依据的值(如“高”、“中”和“低”)。 您如何排序才能使包含“高”的行先显示,然后是“中”,最后是“低”? 如果按字母顺序排序,“升序”排序会将“低”放在最前面,但“高”会出现在“中”的前面。 如果“降序”排序,“中”会最先出现,“高”在中间。 无论使用哪种顺序,您只希望“中”位于中间。 通过创建自己的自定义列表,可以避免这一问题。

  1. 也可以创建自定义序列:

    1. 在单元格区域中,按照需要的顺序从上到下输入要排序的值,如下例所示。

      使用某个区域中的单元格创建从大到小的序列

    2. 选择刚刚输入的区域。 以上例为例,选择单元格 A1:A3。

    3. 转到“文件”>“选项”>“高级”>“常规”>“编辑自定义序列”,然后在“自定义序列”对话框中单击“导入”,然后单击“确定”两次。

      注意: 

      • 只能根据值(文本、数字和日期或时间)创建自定义列表。 不能根据格式(单元格颜色、字体颜色或图标)创建自定义列表。

      • 自定义序列的最大长度为 255 字符,并且第一个字符不得以数字开头。

  2. 在要排序的列中选择一个单元格。

  3. “数据”选项卡的“排序和筛选”组中,单击“排序”

    “数据”选项卡上的“排序和筛选”组

  4. 在“排序”对话框中“”下的“排序依据”或“然后依据”框中,选择要按自定义序列排序的列。

  5. 在“次序”下,选择“自定义序列”。

  6. 在“自定义序列”对话框中,选择所需的序列。 以上例中创建的自定义序列为例,单击“高、中、低”。

  7. 单击“确定”。

  1. “数据”选项卡的“排序和筛选”组中,单击“排序”

    “数据”选项卡上的“排序和筛选”组

  2. “排序”对话框中,单击“选项”

    单击“排序”以打开“排序”对话框

  3. 在“排序选项”对话框中,选择“区分大小写”。

    在“排序”对话框中,单击“选项”

  4. 单击两次“确定”

最常见的排序方式是按从上到下排序,但还可以按从左到右排序。

注意: 表格不支持从左到右排序。 为此,请首先通过选择表中的任意单元格将表转换为一个区域,然后单击“表格工具”>“转换为区域”。

  1. 在要排序的区域内选择任一单元格。

  2. “数据”选项卡的“排序和筛选”组中,单击“排序”

    “数据”选项卡上的“排序和筛选”组

  3. “排序”对话框中,单击“选项”

    单击“排序”以打开“排序”对话框

  4. 在“排序选项”对话框中的“方向”下,单击“从左到右排序”,然后单击“确定”。

    在“排序选项”框中,单击“从左到右”

  5. 在“”下的“排序依据”框中,选择要排序的行。 如果要按标题行排序,通常选择第 1 行。

    选择要排序的行

    提示: 如果标题行是文本形式,但又希望按数字对列排序,可以在数据区域上方添加一个新行,然后根据所需的列顺序在行中添加对应数字。

  6. 若要按值排序,可从“顺序”下拉列表中选择一个选项:

    1. 对于文本值,选择“升序”“降序”

    2. 对于数值,选择“升序”“降序”

    3. 对于日期或时间值,选择“从最旧到最新”或“从最新到最旧”。

  7. 若要按单元格颜色、字体颜色或图标排序,请执行下列操作:

    1. 在“排序依据”下,选择“单元格颜色”、“字体颜色”或“单元格图标”。

    2. 在“顺序”下选择单元格颜色、字体颜色或单元格图标,然后选择“在左侧”或“在右侧”。

注意: 如果进行排序的数据行是工作表分级显示的一部分,Excel 将对最高级分组(第一级)进行排序。这时即使明细数据行或列是隐藏的,它们也会集中在一起。

若要按列中的部分值进行排序,例如,部件号代码 (789-WDG-34)、姓氏(刘)或名字(英玫),首先需要将列拆分为两个或更多列,以便要作为排序依据的值在它自己的列中。 为此,可以使用文本函数分隔单元格的各部分,或者可以使用文本分列向导。 有关示例及更多信息,请参阅将文本拆分为不同的单元格使用函数拆分列中的文本

警告: 可以对较大区域中的某个区域中的内容进行排序,但不建议这么操作,因为这样会导致排序后排序范围内的数据与原始数据失去关联。 如果按以下所示那样对数据进行了排序,那么排序后,选定范围内的员工会与相较之前不同的另一个部门相关联。

示例:对较大区域中的较小区域进行排序。

好在 Excel 发觉用户尝试执行以下操作时会给予提醒:

单击“以当前选定区域排序”

如果不打算按以下方式排序,那么请按“展开选定区域”选项,否则选择“以当前选定区域排序”。

如果结果与预期不符,请单击“撤消“撤消”按钮

注意: 无法在表格中按这种方式进行排序。

如果排序数据时出现意外的结果,请执行下列操作:

检查公式返回的值是否已更改    如果已排序的数据包含一个或多个公式,重新计算工作表时,这些公式的结果值可能会改变。 在这种情况下,请确保重新应用排序以获得最新结果。

排序前取消隐藏行和列    对列排序时,不会移动隐藏列,对行排序时,不会移动隐藏行。 在对数据进行排序之前,最好先将隐藏列和隐藏行取消隐藏。

检查区域设置    排序次序视区域设置而定。 请确保计算机上“控制面板”的“区域设置”或“区域和语言选项”中的区域设置正确。 有关更改区域设置的信息,请参阅 Windows 帮助系统。

只在一行中输入列标题    如果需要多个行标签,请将单元格内的文本设置为自动换行。

打开或关闭标题行    对列排序时,通常最好有一个标题行,以便更轻松地理解数据的含义。 默认情况下,排序操作中不包括标题中的值。 有时可能需要打开或关闭标题,以便排序操作中包括或不包括标题中的值。 执行下列操作之一:

  • 若要从排序中排除第一行数据(因为该行是列标题),请在“开始”选项卡上的“编辑”组中,单击“排序和筛选”,再单击“自定义排序”,然后选择“数据包含标题”。

  • 若要将第一行数据包括在排序中(因为它不是列标题),请在“开始”选项卡上的“编辑”组中,依次单击“排序和筛选”“自定义排序”,然后清除“数据包含标题”

如果将数据格式设置为 Excel 表格,则可以使用标题行中的筛选器按钮快速对其进行排序和筛选。

  1. 如果你的数据不在表格中,则将其格式设置为表格。 这将自动在每个表格列的顶部添加一个“筛选器”按钮。

  2. 单击要排序的列顶部的“筛选器”按钮,然后选择所需排序顺序。

    表包含 4 个列:ID、聘用日期、姓和名。 已为“聘用日期”列打开自动筛选菜单

  3. 若要撤消排序,请使用“开始”选项卡上的“撤消”按钮。

    “撤消”按钮处于选中状态

  1. 选择要作为排序依据的单元格:

    • 如果数据具有标题行,请选择要作为排序依据的标题,如人口

      表包含 3 个列:城市、州/省、人口。 按人口进行降序排序。

    • 如果数据不具有标题行,请选择要作为排序依据的最顶层的值,如 634535

      包含城市名称、州/省和人口规模的表。 没有标题并按人口进行降序排序

  2. 在“数据”选项卡上,选择排序方法之一:

    • 升序排序:A 到 Z、从最小到最大或者最早到最新日期。

    • 降序排序:Z 到 A、从最大到最小或者最新到最早日期。

升序排序/降序排序选择按钮

假设你有一个包含“部门”列和“员工”列的表格。 你可以先按“部门”排序(将同一部门中的所有员工汇集在一起),然后按姓名排序(按字母顺序排列每个部门中的姓名)。 

若要在 Excel Online 中自定义排序,需要将数据的格式设置为 Excel 表格:

  1. 选择数据区域内的任意单元格。

    在两列或多列中选择一个区域

  2. 转到“主页”>“表格”>“套用表格格式”。.

    套用表格格式按钮

  3. 如果表格具有标题,请选中“表包含标题”选项。

    “创建表”对话框,选中了“表包含标题”复选框

  4. 在“数据”选项卡的“排序和筛选”组中,单击“自定义排序”。

    已选择“自定义排序”按钮

  5. 在“自定义排序”对话框中“”下的“排序依据”框中,选择要排序的第一列。

    “自定义排序”对话框,已在“名称”列上选择“按行排序”列

    注意: 已禁用“排序对象”菜单,因为它尚不受支持。 现在,可以在 Excel 桌面应用中更改它。

  6. 在“次序”下,选择排序方式:

    • 升序排序:A 到 Z、从最小到最大或者最早到最新日期。

    • 降序排序:Z 到 A、从最大到最小或者最新到最早日期。

  7. 若要添加另一个作为排序依据的列,请单击“添加”,然后重复步骤 5 和 6。

    单击“添加”后,另一个排序级别将显示在“次要排序依据”旁边的列表中

  8. 若要更改列的排序顺序,请选择一个条目,然后单击“选项”按钮旁边的“向上”或“向下”箭头。

  1. 在“数据”选项卡上的“排序和筛选”组中,单击“自定义排序”。

    已选择“自定义排序”按钮

  2. 在“自定义排序”对话框中,单击“选项”。

    “自定义排序”对话框,已选择选项按钮

  3. 在“选项”菜单中,选择“区分大小写”。

    选择区分大小写时自定义排序对话框大小写

  4. 单击“确定”。

检查箭头的方向即可。

升序排序”使用向上箭头。

按从最早到最晚的升序排序的日期

降序排序”使用向下箭头。

按降序排序,最晚日期列在顶部

提示: 在表格中添加新日期时,选择该列并重新应用排序顺序。

如果要按姓氏对一列姓名排序,但是这些姓名以名字开始(如“月英 任”),您需要执行更改,使其以姓氏开始(如“任, 月英”)。 若要执行此操作,需要使用一些公式。

下面的示例显示 B2、C2 和 D2 中有一些公式,我们将把这些公式集中到单元格 E2 中。

将完整姓名转换为姓氏,名的公式

下面是上面显示的公式的说明:

单元格

公式

说明

结果

B2

=FIND(" ",A2)

在“月英 任”中查找第一个空格的位置

6

C2

=MID("A2,B2+1,30)

查找“月英 任”中从空格后第一个位置(第 4 个,即“任”)开始的最后 30 个字符。 要求提供的字符数可以比所需字符数多得多。

D2

=LEFT(A2,B2-1)

通过返回在第一个空格(第 3 个字符)前面找到的最左侧字符数来找到“月英 任”中的名字。 所以将返回前两个字符 (3-1) - “月英”。

月英

E2

=D2 & ", " & C2

通过半角逗号和空格(“, ”)将“任”和“月英”组合在一起,返回“任, 月英”。

任, 月英

在 E2 中,已将“月英 任”转换为“任, 月英”。 现在向下拖动 E2 中的公式经过 E2 下面的单元格,以便复制该公式并转换列 A 中的其余姓名。

尝试对姓名排序之前,需要将其从公式结果转换为值:

  1. 选择 E2 开始的单元格,然后按 Ctrl+C 复制它们。

  2. 在“开始”选项卡上,单击“粘贴”下的箭头,然后单击“粘贴数值”。

最后,若要对姓名排序,请选择单元格,然后单击“升序排序”或“降序排序”。

“升序排序”和“降序排序”

在 Excel Online 中,您可以使用“开始”选项卡上的“撤消”命令撤消为列表或表应用的任何排序。 下面的示例显示列表中的数据先按城市升序排序,然后按人口降序排序。 撤消操作恢复了原始顺序(城市)。

撤消对区域的排序

在表中,列有筛选器箭头,因此除了可将其用于筛选,还可将其用于排序。 在下面的示例中,请注意,“人口”列的筛选器旁边的向下箭头表示该列按降序排序。 对“城市”列排序之后,请注意“城市”的筛选器旁边的向上箭头。

和区域一样,您也可以通过使用“开始”选项卡上的“撤消”命令撤消对表的排序。 以下示例同时显示了用于恢复原始顺序的撤消操作和使用筛选器对城市排序的结果。

撤消对表的排序

在 Excel Online 中,您可以对表和区域排序,但不能保存排序顺序或对其他数据区域或数据表重复使用排序顺序。 在 Excel 桌面应用程序中也不能执行此操作。

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

视频:对表中的数据进行排序

Excel 中的公式概述

如何避免损坏的公式

查找和更正公式中的错误

Excel 键盘快捷方式和功能键

Excel 函数(按字母顺序)

Excel 函数(按类别列出)

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×