Google表格使用公式基于单元格值重复日期范围并按规则递增
Google Sheets 日期重复递增公式调整方案
可用公式(直接复制到A2单元格即可)
如果你的B1:B7已经是日期格式,用最短版本:
=ARRAYFORMULA(FLATTEN(B1:B7 + SEQUENCE(A1,1,0,7)))
如果B1:B7存储的是文本格式的日期,用转换版本,输出后将单元格格式设置为d-mmm即可显示为1-Jan样式:
=ARRAYFORMULA(FLATTEN(DATEVALUE(B1:B7) + SEQUENCE(A1,1,0,7)))
逻辑说明
你之前的公式是将日期转为文本后重复拼接,天然无法实现日期数值的递增调整,新公式改用数组运算逻辑:
SEQUENCE(A1,1,0,7):根据A1的重复次数生成偏移天数序列,值为0、7、14...,对应每一轮重复需要增加的天数- 日期+偏移天数的运算会触发Google Sheets的数组广播,自动生成7行A1列的二维数组,每一列对应一轮重复的所有日期
FLATTEN()将二维数组按列优先顺序打平为单列,刚好匹配你需要的输出顺序- 整个公式自动溢出,不需要手动下拉填充
兼容版本(适用于旧版Google Sheets)
如果上述公式出现广播错误,可以用兼容性更强的MAKEARRAY写法:
=ARRAYFORMULA(FLATTEN(MAKEARRAY(7,A1,LAMBDA(row,col,INDEX(B1:B7,row) + 7*(col-1)))))
内容的提问来源于stack exchange,提问作者Akash Dev
相关产品推荐
相关产品推荐

