含连字符的Excel日期列显示为文本,如何转为日期并启用日期筛选?
解决日期列含连字符行无法启用日期筛选的问题
针对你遇到的「Jan-17格式日期列因存在纯连字符行被识别为文本,只能用文本筛选;删除连字符行后才会被识别为日期」的问题,以下两种方法可以保留连字符行同时启用日期筛选:
方法一:用公式转换并保留空值
- 插入辅助列(比如B列),在B1单元格输入公式:
=IF(A1="-", "", DATE(RIGHT(A1,2)+2000, MONTH(DATEVALUE(A1&"-01")), 1))
(注:如果你的年份是19xx开头,把公式里的+2000改成+1900) - 下拉填充公式到所有行,此时原连字符行在辅助列会显示为空,有效日期会被转换成真正的日期值
- 选中辅助列所有内容,右键复制,再选中原日期列(A列)右键选择「粘贴选项」-「数值」
- 选中原日期列,设置单元格格式为「自定义」,输入
mmm-yy,这样显示还是Jan-17的样式 - 现在打开筛选,就能看到日期筛选选项,原连字符对应的空行可以通过筛选「空白」来保留
方法二:用分列功能批量转换
- 选中整个日期列,右键选择「设置单元格格式」,切换到「自定义」标签,输入
mmm-yy后确定 - 点击「数据」选项卡,选择「分列」:
- 第一步选择「分隔符号」,点击「下一步」
- 第二步取消所有分隔符的勾选,点击「下一步」
- 第三步选择「日期」,在右侧类型里选「MDY」(对应月-年格式),点击「完成」
- 完成后,纯连字符的行会变成空单元格,有效日期会被识别为日期格式,此时筛选功能会自动切换为日期筛选,空行可通过「空白」选项筛选保留
内容的提问来源于stack exchange,提问作者Amey
相关产品推荐
相关产品推荐

