在Google Sheets中将yyyy-ww格式年周(含第0周)转换为日期范围
在Google Sheets中将yyyy-ww年周格式转为日期范围
要把yyyy-ww格式(如2022-00、2022-01)的年周数据转换成Dec 26 - Jan 1这类日期范围格式,可直接用Google Sheets函数实现,操作如下:
核心公式(简洁版)
在目标单元格输入以下公式,替换A1为你要转换的年周数据所在单元格:
=LET( Y, VALUE(LEFT(A1,4)), W, VALUE(RIGHT(A1,2)), base_end, DATE(Y,1,1)+(7-WEEKDAY(DATE(Y,1,1),1)), end_date, IF(W=0, base_end, base_end + W*7), start_date, end_date -6, TEXT(start_date, "[$-en-US]MMM d") & " - " & TEXT(end_date, "[$-en-US]MMM d") )
公式说明
Y:提取年周字符串中的年份并转为数字W:提取年周字符串中的周数并转为数字base_end:计算当年第00周的结束日期(即包含1月1日的那一周的最后一天,周六)end_date:周00直接使用base_end,其他周则在base_end基础上叠加对应周数×7天start_date:结束日期减6天,得到该周的起始日(周日)- 最后用
TEXT函数将日期格式化为英文月份缩写+日期,拼接成目标范围字符串
批量转换
输入公式后,拖拽单元格右下角的填充柄,即可批量转换整行的年周数据。
注意事项
[$-en-US]确保月份显示为英文缩写(如Dec、Jan),不受系统区域设置影响- 周00会自动映射到包含当年1月1日的上一年最后一周,完全匹配示例格式
内容的提问来源于stack exchange,提问作者Simon GIS
相关产品推荐
相关产品推荐

