如何将dd/mm/yyyy格式日期转为星期?格式不匹配计算错误求助
解决dd-MMM格式日期转星期缩写的问题
问题根源
你的原公式错误截取了月份缩写的前2位(比如01-Sep中,MID(L1,4,2)取到的是Se),VALUE()无法将字母转为有效月份数字,导致日期构建错误。而8月13-31日正常,大概率是这些日期的格式为dd/mm/yyyy(比如13/08/2024),此时MID(L1,4,2)能取到正确的月份数字08,公式才生效。
解决方案
针对dd-MMM格式(如01-Sep),推荐两种可靠公式:
方案1:直接识别文本日期(优先推荐)
Excel可直接识别dd-MMM格式的文本,补全年份后即可转换:
=TEXT(DATEVALUE(L1&"-"&YEAR(TODAY())),"ddd")
- 逻辑:
L1&"-"&YEAR(TODAY())将01-Sep补全为01-Sep-2024(自动使用当前年份),DATEVALUE把文本转为Excel可识别的日期序列,最后用TEXT提取3位星期缩写(如FRI)。
方案2:手动拆分日期与月份(兼容特殊语言环境)
如果DATEVALUE无法识别月份缩写(比如系统语言非英文),可手动提取月份数字:
=TEXT(DATE(YEAR(TODAY()),MONTH(DATEVALUE("1-"&RIGHT(L1,3))),LEFT(L1,2)),"ddd")
- 逻辑:
RIGHT(L1,3)提取完整的3位月份缩写(如Sep)"1-"&RIGHT(L1,3)生成1-Sep,通过DATEVALUE转为日期后,用MONTH提取对应月份数字(9)LEFT(L1,2)提取日期数字(01)- 用
DATE构建完整日期,再转成星期缩写
验证
测试01-Sep和02-Sep:
- 方案1返回
FRI和SAT,符合需求。
内容的提问来源于stack exchange,提问作者Fayez Soweid
相关产品推荐
相关产品推荐

