有时您可能需要根据特定列中表示的月份对信息列表进行排序。例如,您可能有一个人及其生日的列表,并且想要按生日月份对列表进行排序,以便知道谁的生日在特定月份内发生。

最简单的方法是在表中添加一个新列。该列将被命名为描述性名称,例如“出生月”或简称为“月”。例如,假设您在B列中有一个人的生日,则可以在C列中添加新的列。然后,您可以在此列中使用MONTH函数,如下所示:

=MONTH(B3)

此特定公式将在单元格C3中使用,但是类似的公式将在C列的每个单元格中使用。结果是C列将包含1到12之间的数字,代表人们的出生月份。现在,您可以基于列C的内容对列表进行排序,结果列表将按月排序。

这种方法效果很好,但是您可能无法在工作表中添加另一列。在这种情况下,您可以按照以下步骤按月排序:

。选择B列中的单元格(假设B列包含生日)。

。从格式菜单中选择单元格。 Excel将显示“设置单元格格式”对话框。

。确保显示“数字”选项卡。 (请参见图1。)

。在类别列表中,选择自定义。

。在“类型”框中,为格式输入四个小写的Ms(mmmm)。

。单击确定。 B列中的单元格现在应仅显示列表中人员的出生月份。 (不用担心;底层的生日仍然存在。)

。选择整个列表。

。从数据菜单中选择排序。 Excel将显示“排序”对话框。

(请参见图2。)

。使用对话框中的控件来指定您要按列B的内容进行排序。 。单击选项按钮。 Excel将显示“排序选项”对话框。 (请参见图3。)

。使用“第一关键字排序顺序”下拉列表可以指定要按月排序。 (选择说明一月,二月,三月等的选项)

。单击“确定”关闭“排序选项”对话框。

。单击“确定”关闭“排序”对话框,然后对列表进行实际排序。

您可能想知道为什么需要重新格式化包含生日的单元格的显示(步骤1至6)。原因是,当您最终对列表进行排序(第7步至第13步)时,如果仅显示原始的完整日期,则Excel将有效地按时间顺序而不是按月对列表进行排序。

还有另一种方法可以解决此问题。这实际上涉及将日期转换为文本(而不是内部序列号),如下所示:

。选择包含日期的单元格。

。从格式菜单中选择单元格。 Excel将显示“设置单元格格式”对话框。

。确保选择了“数字”选项卡。

。在类别列表中,选择日期。

。在“类型”列表中,选择“ 1998年3月14日”。 。单击确定。现在,您的单元格应被格式化为以长月份开头的较长日期。

。按Ctrl + C。这会将单元格复制到剪贴板。

。打开记事本。

。按Ctrl + V。现在,信息已粘贴到记事本中,并且仍然应该是很长的日期。

。选择刚粘贴到记事本中的信息。

。按Ctrl + C。这会将信息复制到剪贴板。

。切换回Excel。

。从格式菜单中选择单元格。 Excel将显示“设置单元格格式”对话框。

。确保选择了“数字”选项卡。

。在类别列表中,选择文本。

。单击确定。

。按Ctrl + V。

现在,您的日期将作为真实文本条目而不是日期粘贴到Excel中。

这使您可以轻松地根据日期中的月份对信息进行排序。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3183)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本:

链接:/ excelribbon-Sorting_Dates_by_Month [按月排序日期]。