如何用Excel公式直接将年与日历周转换为YYYY/MM/DD格式?
解决Excel中年份+日历周转YYYY/MM/DD格式日期的问题
核心问题原因
你之前用=(LEFT(B4; SEARCH(".",B4;1)-1))失败的本质是:B4单元格存储的是日期数值(Excel中日期本质是整数),而非带"."的文本。你看到的"."是单元格格式渲染后的显示效果,实际单元格内容是一个数字,所以SEARCH找不到".",自然无法拆分。
直接可用的解决方案
方案1:将B4的日期值转为指定格式文本
使用Excel的TEXT函数,直接把日期数值按YYYY/MM/DD格式转换成文本,无需手动设置单元格格式:
=TEXT(B4,"YYYY/MM/DD")
这个公式会直接输出类似2024/05/13的文本格式结果。
方案2:跳过中间单元格B4,一步生成目标格式
把你原B4的公式和TEXT函数合并,直接从B1(年份)和B2(日历周)生成最终格式的日期文本:
=TEXT(MAX(DATE(B1,1,1),DATE(B1,1,1)-WEEKDAY(DATE(B1,1,1),2)+(B2-1)*7+1),"YYYY/MM/DD")
补充说明
- 你的原公式
=MAX(DATE(B1;1;1);DATE(B1;1;1)-WEEKDAY(DATE(B1;1;1);2)+(B2-1)*7+1)是正确的,它生成的是该日历周周一的日期(因为WEEKDAY的第二参数为2时,周一=1,周日=7)。 - 如果需要的是日历周的其他日期(比如周日),只需要调整原公式末尾的
+1为+7即可,再配合TEXT函数就能得到对应格式。
内容的提问来源于stack exchange,提问作者Aravind Nadumane
相关产品推荐
相关产品推荐

