Google Sheets如何基于单元格值按月递增日期并分两列输出结果
解决方案
你原公式的问题是将分支代码列表和日期序列两个不同维度的数组同时传入FLATTEN做纵向合并,把两个字段的内容堆到了同一列,无法直接得到两列结构的输出。
直接在C2单元格输入以下数组公式,会自动溢出填充所有预测结果,完全匹配你需要的输出结构:
=ARRAYFORMULA( LET( branches, UNIQUE(FILTER(A2:A,A2:A<>"")), branch_count, ROWS(branches), last_month, MAXIFS(B2:B,A2:A,branches), month_offset, SEQUENCE(1,10,1,1), out_branch, SPLIT(REPT(JOIN("|",branches)&"|",10),"|"), out_date, EDATE(TRANSPOSE(SPLIT(REPT(JOIN("|",last_month)&"|",10),"|")),TRANSPOSE(SPLIT(REPT(JOIN("|",month_offset)&"|",branch_count),"|"))), {FLATTEN(out_branch),FLATTEN(out_date)} ) )
使用说明
- 公式会自动提取所有不重复的分支代码,同时识别每个分支对应的最后一个历史月份,后续新增分支、不同分支历史截止月不一致时也能正常计算,不需要手动调整参数
- 输出结果固定为两列:第一列为分支代码,第二列为对应顺延10个月的预测日期,和你给出的目标样例完全一致
- 如果日期列显示为5位数字,选中日期列将单元格格式设置为
mmm-yy,即可得到Jun-22这类月份显示效果
内容的提问来源于stack exchange,提问作者raj anand
相关产品推荐
相关产品推荐

