如何在Google Sheets中重复LAMBDA生成的日期序列指定次数
解决方案
直接修改原有的MAKEARRAY公式,结合MOD函数实现序列重复,无需引用已生成的标题或使用易触发字符限制的函数:
核心公式(生成列序列)
=MAKEARRAY(number_months*number_repeats,1,LAMBDA(r,c,EOMONTH(start_date,MOD(r-1,number_months))))
转置为行标题的公式
如果需要作为行标题,在外层套TRANSPOSE即可:
=TRANSPOSE(MAKEARRAY(number_months*number_repeats,1,LAMBDA(r,c,EOMONTH(start_date,MOD(r-1,number_months)))))
逻辑说明
- 总行数设置为
number_months*number_repeats,确保生成足够容纳重复序列的行数 MOD(r-1, number_months)用于计算当前行在重复组内的相对位置:- 当
r在第1组(1~number_months)时,MOD(r-1, number_months)的结果为0~number_months-1,对应原序列的日期偏移量 - 当
r进入第2组(number_months+1~2*number_months)时,MOD结果会重新从0开始循环,从而重复生成原序列
- 当
- 全程基于原有的
EOMONTH逻辑生成日期,完全避免引用已生成的序列,解决字符容量限制问题
内容的提问来源于stack exchange,提问作者Bubusi
相关产品推荐
相关产品推荐

