对区域或表中的数据进行排序
对数据进行排序是数据分析不可缺少的组成部分。 你可能需要执行以下操作:将名称列表按字母顺序排列;按从高到低的顺序编制产品存货水平列表,或按颜色或图标对行进行排序。 对数据进行排序有助于快速直观地显示数据并更好地理解数据,有助于组织并查找所需数据,有助于最终做出更有效的决策。
可以对一列或多列中的数据按文本(从 A 到 Z 或从 Z 到 A)、数字(从小到大或从大到小)以及日期和时间(从最旧到最新或从最新到最旧)进行排序。 还可以按自己创建的自定义序列(如大、中和小)或格式(包括单元格颜色、字体颜色或图标集)进行排序。
注意:
若要查找某个单元格区域或某个表中的上限或下限值(如前 10 名或后 5 个销售额),可以使用自动筛选或条件格式。
有关详细信息,请参阅筛选 Excel 表格或区域中的数据和在 Excel 中应用条件格式。
Windows Web
对文本进行排序
在要排序的列中选择一个单元格。
在“数据”选项卡上的“排序和筛选”组中,执行下列操作之一:
若要按升序快速排序,请单击 (“从 A 到 Z 排序”)。
若要按降序快速排序,请单击 (“从 A 到 Z 排序”)。
注意: 可能的问题
检查所有数据是否都存储为文本 如果要排序的列包含存储为数值的数字和存储为文本的数字,需要将其格式全部设置为数字或文本。 如果不应用此格式,存储为数值的数字将在存储为文本的数字之前排序。 若要将所有选定数据的格式设置为文本,请按 Ctrl+1 以启动“设置单元格格式”对话框,单击“数字”选项卡,然后在“类别”下单击“常规”、“数字”或“文本”。
删除任何前导空格 在某些情况下,从其他应用程序导入的数据前面可能插入了前导空格。 对此类数据排序之前,请删除这些前导空格。 可以手动执行此操作,也可以使用 TRIM 函数进行。
在要排序的列中选择一个单元格。
在“数据”选项卡上的“排序和筛选”组中,执行下列操作之一:
要按从小到大的顺序对数字进行排序,请单击 (“从最小到最大排序”)。
要按从大到小的顺序对数字进行排序,请单击 (“从最大到最小排序”)。
注意:
可能的问题
检查所有数字是否都存储为数值 如果结果与你的预期不相符,该列可能包含存储为文本,而不是存储为数值的数字。 例如,从某些会计系统导入的负数或带有前导撇号 (‘) 的数字存储为文本。 有关详细信息,请参阅通过应用数字格式来修复文本格式的数字。
在要排序的列中选择一个单元格。
在“数据”选项卡上的“排序和筛选”组中,执行下列操作之一:
若要按从早到晚的顺序对日期或时间排序,请单击 (“从最旧到最新排序”)。
若要按从晚到早的顺序对日期或时间排序,请单击 (“从最新到最旧排序”)。
注意: 可能的问题
检查日期和时间是否存储为日期或时间 如果结果与你的预期不相符,该列可能包含存储为文本,而不是存储为日期或时间的日期或时间。 若要让 Excel 对日期和时间正确排序,列中的所有日期和时间都必须存储为日期或时间序列数字。 如果 Excel 无法将某个值识别为日期或时间值,说明该日期或时间存储为文本。 有关详细信息,请参阅将存储为文本的日期转换为日期格式。
如果要按星期日期进行排序,请设置单元格格式以显示星期日期。 如果要按星期日期进行排序,而不考虑日期,请使用 TEXT 函数将它们转换为文本。 但是,TEXT 函数会返回一个文本值,因此排序操作将基于字母数字数据。 有关详细信息,请参阅按星期日期显示日期。
如果你有希望按一列或一行中的相同值组合在一起的数据,然后对这组相等值内的其他列或行排序,你可能希望按多列或多行排序。 例如,如果有一个“部门”列和“雇员”列,可以先按“部门”排序(将同一部门中的所有员工汇集在一起),然后按姓名排序(按字母顺序排列每个部门中的姓名)。 最多可以按 64 列排序。
注意: 为了获得最佳结果,要排序的单元格区域应包含列标题。
选择数据区域内的任意单元格。
在“数据”选项卡的“排序和筛选”组中,单击“排序”。
在“排序”对话框中“列”下的“排序依据”框中,选择要排序的第一列。
在“排序依据”下,选择排序类型。 执行下列操作之一:
若要按文本、数字或日期和时间进行排序,请选择“数值”。
若要按格式进行排序,请选择“单元格颜色”、“字体颜色”或“单元格图标”。
在“次序”下,选择排序方式。 执行下列操作之一:
对于文本值,选择“升序”或“降序”。
对于数值,选择“升序”或“降序”。
对于日期或时间值,选择“升序”或“降序”。
若要基于自定义序列进行排序,请选择“自定义序列”。
若要添加作为排序依据的另一列,请单击“添加条件”,然后重复步骤三到五。
若要复制作为排序依据的列,请选择该条目,然后单击“复制条件”。
若要删除作为排序依据的列,请选择该条目,然后单击“删除条件”。
注意: 必须至少在列表中保留一个条目。
若要更改列的排序顺序,请选择一个条目,然后单击“选项”按钮旁的“向上”或“向下”箭头更改顺序。序列中较大的条目将排在较小条目的前面。
如果按单元格颜色或字体颜色手动或有条件地设置了单元格区域或表列的格式,那么,也可以按这些颜色进行排序。 此外,还可以按使用条件格式创建的图标集进行排序。
在要排序的列中选择一个单元格。
在“数据”选项卡的“排序和筛选”组中,单击“排序”。
在“排序”对话框中“列”下的“排序依据”框中,选择要排序的列。
在“排序依据”下,选择“单元格颜色”、“字体颜色”或“单元格图标”。
在“次序”下,单击该按钮旁边的箭头,然后根据格式的类型,选择单元格颜色、字体颜色或单元格图标。
接着,选择排序方式。 执行下列操作之一:
若要将单元格颜色、字体颜色或图标移到顶部或左侧,对列进行排序,请选择“在顶端”;对行进行排序,请选择“在左侧”。
若要将单元格颜色、字体颜色或图标移到底部或右侧,对列进行排序,请选择“在底端”;对行进行排序,请选择“在右侧”。
注意: 没有默认的单元格颜色、字体颜色或图标排序次序。 必须为每个排序操作定义您需要的顺序。
若要指定要作为排序依据的下一个单元格颜色、字体颜色或图标,请单击“添加条件”,然后重复步骤三到步骤五。
确保在“然后依据”框中选择同一列,并且在“次序”下进行同样的选择。
对要包括在排序中的每个额外的单元格颜色、字体颜色或图标,重复上述步骤。
您可以使用自定义列表按用户定义的顺序进行排序。 例如,某个列可能包含您要用作排序依据的值(如“高”、“中”和“低”)。 您如何排序才能使包含“高”的行先显示,然后是“中”,最后是“低”? 如果按字母顺序排序,“升序”排序会将“低”放在最前面,但“高”会出现在“中”的前面。 如果“降序”排序,“中”会最先出现,“高”在中间。 无论使用哪种顺序,您只希望“中”位于中间。 通过创建自己的自定义列表,可以避免这一问题。
也可以创建自定义序列:
在单元格区域中,按照需要的顺序从上到下输入要排序的值,如下例所示。
选择刚刚输入的区域。 以上例为例,选择单元格 A1:A3。
转到“文件”>“选项”>“高级”>“常规”>“编辑自定义序列”,然后在“自定义序列”对话框中单击“导入”,然后单击“确定”两次。
注意:
只能根据值(文本、数字和日期或时间)创建自定义列表。 不能根据格式(单元格颜色、字体颜色或图标)创建自定义列表。
自定义序列的最大长度为 255 字符,并且第一个字符不得以数字开头。
在要排序的列中选择一个单元格。
在“数据”选项卡的“排序和筛选”组中,单击“排序”。
在“排序”对话框中“列”下的“排序依据”或“然后依据”框中,选择要按自定义序列排序的列。
在“次序”下,选择“自定义序列”。
在“自定义序列”对话框中,选择所需的序列。 以上例中创建的自定义序列为例,单击“高、中、低”。
单击“确定”。
在“数据”选项卡的“排序和筛选”组中,单击“排序”。
在“排序”对话框中,单击“选项”。
在“排序选项”对话框中,选择“区分大小写”。
单击两次“确定”。
最常见的排序方式是按从上到下排序,但还可以按从左到右排序。
注意: 表格不支持从左到右排序。 为此,请首先通过选择表中的任意单元格将表转换为一个区域,然后单击“表格工具”>“转换为区域”。
在要排序的区域内选择任一单元格。
在“数据”选项卡的“排序和筛选”组中,单击“排序”。
在“排序”对话框中,单击“选项”。
在“排序选项”对话框中的“方向”下,单击“从左到右排序”,然后单击“确定”。
在“行”下的“排序依据”框中,选择要排序的行。 如果要按标题行排序,通常选择第 1 行。
提示: 如果标题行是文本形式,但又希望按数字对列排序,可以在数据区域上方添加一个新行,然后根据所需的列顺序在行中添加对应数字。
若要按值排序,可从“顺序”下拉列表中选择一个选项:
对于文本值,选择“升序”或“降序”。
对于数值,选择“升序”或“降序”。
对于日期或时间值,选择“从最旧到最新”或“从最新到最旧”。
若要按单元格颜色、字体颜色或图标排序,请执行下列操作:
在“排序依据”下,选择“单元格颜色”、“字体颜色”或“单元格图标”。
在“顺序”下选择单元格颜色、字体颜色或单元格图标,然后选择“在左侧”或“在右侧”。
注意: 如果进行排序的数据行是工作表分级显示的一部分,Excel 将对最高级分组(第一级)进行排序。这时即使明细数据行或列是隐藏的,它们也会集中在一起。
若要按列中的部分值进行排序,例如,部件号代码 (789-WDG-34)、姓氏(刘)或名字(英玫),首先需要将列拆分为两个或更多列,以便要作为排序依据的值在它自己的列中。 为此,可以使用文本函数分隔单元格的各部分,或者可以使用文本分列向导。 有关示例及更多信息,请参阅将文本拆分为不同的单元格和使用函数拆分列中的文本。
警告: 可以对较大区域中的某个区域中的内容进行排序,但不建议这么操作,因为这样会导致排序后排序范围内的数据与原始数据失去关联。 如果按以下所示那样对数据进行了排序,那么排序后,选定范围内的员工会与相较之前不同的另一个部门相关联。
好在 Excel 发觉用户尝试执行以下操作时会给予提醒:
如果不打算按以下方式排序,那么请按“展开选定区域”选项,否则选择“以当前选定区域排序”。
如果结果与预期不符,请单击“撤消” 。
注意: 无法在表格中按这种方式进行排序。
如果排序数据时出现意外的结果,请执行下列操作:
检查公式返回的值是否已更改 如果已排序的数据包含一个或多个公式,重新计算工作表时,这些公式的结果值可能会改变。 在这种情况下,请确保重新应用排序以获得最新结果。
排序前取消隐藏行和列 对列排序时,不会移动隐藏列,对行排序时,不会移动隐藏行。 在对数据进行排序之前,最好先将隐藏列和隐藏行取消隐藏。
检查区域设置 排序次序视区域设置而定。 请确保计算机上“控制面板”的“区域设置”或“区域和语言选项”中的区域设置正确。 有关更改区域设置的信息,请参阅 Windows 帮助系统。
只在一行中输入列标题 如果需要多个行标签,请将单元格内的文本设置为自动换行。
打开或关闭标题行 对列排序时,通常最好有一个标题行,以便更轻松地理解数据的含义。 默认情况下,排序操作中不包括标题中的值。 有时可能需要打开或关闭标题,以便排序操作中包括或不包括标题中的值。 执行下列操作之一:
若要从排序中排除第一行数据(因为该行是列标题),请在“开始”选项卡上的“编辑”组中,单击“排序和筛选”,再单击“自定义排序”,然后选择“数据包含标题”。
若要将第一行数据包括在排序中(因为它不是列标题),请在“开始”选项卡上的“编辑”组中,依次单击“排序和筛选”、“自定义排序”,然后清除“数据包含标题”。
如果将数据格式设置为 Excel 表格,则可以使用标题行中的筛选器按钮快速对其进行排序和筛选。
如果你的数据不在表格中,则将其格式设置为表格。 这将自动在每个表格列的顶部添加一个“筛选器”按钮。
单击要排序的列顶部的“筛选器”按钮,然后选择所需排序顺序。
若要撤消排序,请使用“开始”选项卡上的“撤消”按钮。
选择要作为排序依据的单元格:
如果数据具有标题行,请选择要作为排序依据的标题,如人口。
如果数据不具有标题行,请选择要作为排序依据的最顶层的值,如 634535。
在“数据”选项卡上,选择排序方法之一:
升序排序:A 到 Z、从最小到最大或者最早到最新日期。
降序排序:Z 到 A、从最大到最小或者最新到最早日期。
假设你有一个包含“部门”列和“员工”列的表格。 你可以先按“部门”排序(将同一部门中的所有员工汇集在一起),然后按姓名排序(按字母顺序排列每个部门中的姓名)。
选择数据区域内的任意单元格。
在“数据”选项卡的“排序和筛选”组中,单击“自定义排序”。
在“自定义排序”对话框中“列”下的“排序依据”框中,选择要排序的第一列。
注意: 已禁用“排序对象”菜单,因为它尚不受支持。 现在,可以在 Excel 桌面应用中更改它。
在“次序”下,选择排序方式:
升序排序:A 到 Z、从最小到最大或者最早到最新日期。
降序排序:Z 到 A、从最大到最小或者最新到最早日期。
若要添加另一个作为排序依据的列,请单击“添加”,然后重复步骤 5 和 6。
若要更改列的排序顺序,请选择一个条目,然后单击“选项”按钮旁边的“向上”或“向下”箭头。
在“数据”选项卡上的“排序和筛选”组中,单击“自定义排序”。
在“自定义排序”对话框中,单击“选项”。
在“选项”菜单中,选择“区分大小写”。
单击“确定”。
检查箭头的方向即可。
“升序排序”使用向上箭头。
“降序排序”使用向下箭头。
提示: 在表格中添加新日期时,选择该列并重新应用排序顺序。
最常见的排序方式是按从上到下排序,但还可以按从左到右排序。
注意: 表格不支持从左到右排序。 为此,请首先通过选择表中的任意单元格将表转换为一个区域,然后单击“表格工具”>“转换为区域”。
在要排序的区域内选择任一单元格。
在“数据”选项卡上的“排序和筛选”组中,单击“自定义排序”。
在“自定义排序”对话框中,单击“选项”。
在“方向”下,单击“从左到右排序”
在“行”下的“排序依据”下拉列表中,选择要排序的行。 如果要按标题行排序,通常选择第 1 行。
若要按值排序,可从“顺序”下拉列表中选择一个选项:
升序排序:A 到 Z、从最小到最大或者最早到最新日期。
降序排序:Z 到 A、从最大到最小或者最新到最早日期
需要更多帮助吗?
可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。
另请参阅
视频:对表中的数据进行排序
使用 SORT 和 SORTBY 函数自动对数据进行排序。