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

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

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

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

注释: 

你想如何操作?

对文本进行排序

  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 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

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

Excel 中的公式概述

如何避免损坏的公式

查找和更正公式中的错误

Excel 键盘快捷方式和功能键

Excel 函数(按字母顺序)

Excel 函数(按类别列出)

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

此信息是否有帮助?

谢谢您的反馈!

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

×