You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅用Excel公式提取多组起止日期间所有日期的通用单公式

原生Excel多起止日期区间全日期展开单公式方案
  • 适配所有原生Excel环境,无需第三方插件、无需VBA
  • 不受源数据区间行数限制,新增、删除、修改起止区间后结果自动刷新
  • 支持动态数组的版本输入单公式后自动溢出全部结果,无需手动下拉填充

数据存放约定

默认约定:开始日期存放在A列、结束日期存放在B列,第1行为表头,有效数据从第2行开始,每组数据结束日期不早于开始日期,无无效空行。如果你的数据存放在其他列,修改公式内对应列参数即可。

适用Excel 365/2021及以上版本(支持动态数组)公式

直接选中结果存放的首个单元格(比如D2),粘贴以下公式按回车即可:

=LET(
数据首行,2,
开始列,A:A,
结束列,B:B,
最后行,MAX(IFERROR(MATCH(1,0/(开始列<>"")),1),IFERROR(MATCH(1,0/(结束列<>"")),1)),
开始区间,INDEX(开始列,数据首行):INDEX(开始列,最后行),
结束区间,INDEX(结束列,数据首行):INDEX(结束列,最后行),
区间长度,结束区间-开始区间+1,
总长度,SUM(区间长度),
累计长度,SCAN(0,区间长度,LAMBDA(a,b,a+b)),
行号序列,SEQUENCE(总长度),
所属区间,MATCH(行号序列,累计长度,1),
TOCOL(IFS(行号序列<=累计长度,INDEX(开始区间,所属区间)+行号序列-IF(所属区间=1,0,INDEX(累计长度,所属区间-1))-1),2)
)

适用Excel 2019及更早版本(无动态数组支持)公式

选中结果列从第2行开始、长度大于等于所有区间总天数的单元格区域,粘贴以下公式后按Ctrl+Shift+Enter三键结束数组公式计算即可:

=IFERROR(SMALL(IF(COUNTIFS(A:A,"<="&ROW(INDIRECT(MIN(A:A)&":"&MAX(B:B))),B:B,">="&ROW(INDIRECT(MIN(A:A)&":"&MAX(B:B)))),ROW(INDIRECT(MIN(A:A)&":"&MAX(B:B)))),ROW(A1)),"")

注:该版本公式需要保证结果区域预留足够行数,否则超出部分无法显示。

效果说明

公式输出顺序和你录入的起止区间顺序一致,会自动跳过区间之间的间隔日期。例如录入3组区间:2023/1/1-2023/1/3、2023/1/5-2023/1/6、2023/1/10-2023/1/12,输出结果为连续的单列日期:

  • 2023/1/1
  • 2023/1/2
  • 2023/1/3
  • 2023/1/5
  • 2023/1/6
  • 2023/1/10
  • 2023/1/11
  • 2023/1/12

输出结果为Excel标准日期格式,可直接通过单元格格式调整显示样式。

内容的提问来源于stack exchange,提问作者PaGaN DoN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 09:18:17