如何在Excel中按指定重复次数生成日期列表?
Excel按指定次数重复日期的公式解法
适用于Excel 365/2021(支持动态数组)
直接在目标列的第一个单元格输入以下公式,公式会自动溢出生成所有重复后的日期:
=TOROW(MAP(A2:A4,B2:B4,LAMBDA(x,y,IF(SEQUENCE(y),x))),,TRUE)
或者用更直观的文本拼接拆分法:
=TEXTSPLIT(TEXTJOIN("|",TRUE,REPT(A2:A4&"|",B2:B4)),"|",,TRUE)
说明:把公式里的A2:A4和B2:B4替换成你实际的数据区域即可。
适用于旧版Excel(无动态数组支持)
在目标列的第一个单元格(比如C2)输入以下数组公式,按Ctrl+Shift+Enter确认输入,然后下拉填充直到出现错误值为止:
=INDEX(A:A,SMALL(IF(ROW($A$2:$A$4)<=SUMIF(OFFSET($B$2,,,ROW($1:ROW($A$2:$A$4))),">0")+ROW($A$2)-1,ROW($A$2:$A$4)),ROW(A1)))
或者用累计次数匹配的方法,在C2输入:
=LOOKUP(ROW(A1),SUM($B$2:INDEX($B:$B,ROW($A$2:$A$4))),$A$2:$A$4)
同样按Ctrl+Shift+Enter作为数组公式输入,下拉填充。
示例验证
对应你的示例数据:
- A2: Nov-22,B2: 2
- A3: Dec-22,B3: 2
- A4: Jan-23,B4: 1
使用上述公式后,目标列会生成:
Nov-22
Nov-22
Dec-22
Dec-22
Jan-23
内容的提问来源于stack exchange,提问作者jrjrjr12345
相关产品推荐
相关产品推荐

