虽然Excel2007/2010的日期筛选功能比Excel2003增强了,如可以直接对日期列按季度或按月进行筛选,但是要对日期列按月日(不包含年)进行自动筛选,例如要筛选出某天过生日的人员名单,对于显示为年月日的日期,Excel并没有提供一个直接的方法。由于Excel中的日期实际为序列数,所以无法直接对日期进行类似文本的筛选操作。用公式或数据透视表可以对日期列按月日进行排序,但如果希望用自动筛选的方法来实现,该怎样操作呢? 假如姓名在A列,出生日期在B列,以Excel2003为例介绍如下。 方法一:修改日期格式 由于B列所显示的日期中同时包含了年、月、日,不便按月日进行筛选,所以筛选前需修改日期格式,让日期中只显示月日。方法是选择B列的所有日期,按快捷键Ctrl+1,打开“设置单元格格式”对话框,选择“数字→日期”,在右侧的“类型”下选择不包含“年”的日期格式,如“3月14日”,再进行自动筛选就可以了。 方法二:将日期转换为文本 方法是将B列中的日期格式转换为文本,然后对文本进行筛选,这种方法可以在同时显示年月日的情况下进行自动筛选。 1. 将日期转换为文本 可以用下面的两种方法: 分列法:选择B列中的所有日期,单击菜单“数据→分列”,弹出“文本分列向导”对话框,单击两次“下一步”,在“3步骤之3“对话框中选择“文本”,单击“确定”。 这样就将B列中的日期转换成为文本,但日期的显示格式被修改为“yyyy-m-d”: 复制粘贴法: 将B列中的所有日期复制到记事本中,然后再粘贴回Excel中。注意粘贴回Excel前需将被粘贴的区域设置为文本格式。这种方法可以保留原日期的显示样式,例如原日期显示为“1980年2月29日”,粘贴后也为“1980年2月29日”,下图将日期粘贴到C列: 2. 自定义自动筛选: 以筛选出生日为3月1日的人员名单为例。先对日期列设置自动筛选:选择B1单元格,单击菜单“数据→筛选→自动筛选”第一行各单元格中出现筛选下拉箭头。单击日期列的筛选箭头,选择“自定义”,弹出“自定义自动筛选方式”对话框,在“文本格式”下选择“止于”或“结尾是”。如果是用分列的方法将日期转换为文本,在其后的文本框中输入“3-1”,如果是用复制粘贴的方法将日期转换为文本,则输入“年3月1日”。直接输入“3月1日”,Excel会将其作为日期处理,得不到正确的筛选结果。 单击“确定”筛选出所有生日为3月1日的人员名单。
|