如何根据单元格中的月份缩写计算对应月份的天数?
解决表格中月份缩写对应天数计算的问题
Excel/WPS 解法
假设你的月份缩写在第6行(A6到L6),要在第7行对应单元格计算天数,可使用以下公式:
在A7单元格输入:
=DAY(EOMONTH(DATE(YEAR(TODAY()),MATCH(A6,{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},0),1),0))输入后向右填充到L7即可。
公式说明:
MATCH(A6,{"Jan",...,"Dec"},0):将单元格中的月份缩写匹配为1-12的月份数字DATE(YEAR(TODAY()), 匹配到的数字, 1):构造该月份当月的1号日期(用当年年份即可,不影响天数计算)EOMONTH(...,0):获取该月份的最后一天日期DAY(...):提取最后一天的数字,即该月总天数
Google Sheets 解法
Google Sheets对日期字符串的识别更友好,可简化公式:
在A7单元格输入:
=DAY(EOMONTH(DATEVALUE(A6&" 1"),0))向右填充即可。
公式说明:
DATEVALUE(A6&" 1"):直接将月份缩写拼接"1"(如"Jan 1")转换为日期格式- 后续
EOMONTH和DAY的作用与Excel一致,提取月末天数
特殊格式适配
如果你的月份缩写格式不标准(比如全大写"JAN"或带点"Jan."),可先统一格式:
- Excel/WPS:用
LEFT(A6,3)提取前三个字符,再匹配,比如把MATCH参数里的A6替换为LEFT(A6,3) - Google Sheets:同样用
LEFT(A6,3)处理后转日期,即DATEVALUE(LEFT(A6,3)&" 1")
内容的提问来源于stack exchange,提问作者Samy
相关产品推荐
相关产品推荐

