从命名特殊的列提取日期信息并拆分为两个新列
解决CSV报表中提取年份与完整拼写月份的问题
核心原因
你的问题大概率是原列内容为纯文本格式,而非Excel可识别的日期值,导致TRIM和FORMAT函数无法生效。先将文本转换为可识别的日期值,再提取年份和完整月份即可,以下是常见场景的具体解法:
场景1:原列是标准日期文本(如2024-03、Mar-2024、03/2024)
假设原数据在A列,从第2行开始:
- 提取年份(生成年份列):
(=YEAR(--A2)--用于将文本格式的日期转换为数字格式的日期值,YEAR函数直接提取年份) - 提取完整拼写月份(如January、February):
(=TEXT(--A2,"mmmm")TEXT函数通过mmmm格式代码输出完整英文月份名;若需中文完整月份,可改用TEXT(--A2,"yyyy年mmmm月"))
场景2:原列包含冗余字符(如工单创建日期:2024-03-15)
从混合文本中提取目标内容:
- 提取年份:
(假设年份以=MID(A2,FIND("20",A2),4)20开头,FIND定位年份起始位置,MID提取4位年份) - 提取完整月份:
先提取月份数字再转换为完整拼写:
(先通过=TEXT(MONTH(--MID(A2,FIND("-",A2)+1,2)),"mmmm")FIND定位第一个-的位置,提取后续2位月份数字;转换为日期后用MONTH提取月份序号,最后用TEXT转成完整拼写)
场景3:原列是中文日期文本(如2024年3月)
- 提取年份:
=LEFT(A2,4) - 提取完整英文月份:
=SWITCH(MID(A2,FIND("年",A2)+1,FIND("月",A2)-FIND("年",A2)-1),"1","January","2","February","3","March","4","April","5","May","6","June","7","July","8","August","9","September","10","October","11","November","12","December")
内容的提问来源于stack exchange,提问作者JSands
相关产品推荐
相关产品推荐

