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

求助:提取最近10个已结束项目对应日期(解决重复日期匹配问题)

提取最近10个已结束项目的对应日期并计算平均时长

核心问题修正

你之前使用的INDEX+AGGREGATE公式存在语法错误(括号不匹配、参数逻辑缺失),导致下拉填充时报错。针对重复结束日期无法匹配不同行的问题,需要加入计数逻辑跳过已返回的记录。

提取对应日期的正确公式

假设数据范围为第2行到第999行,可使用以下公式:

提取对应开始日期(A列)

在空白单元格(如D2)输入,下拉填充10行:

=INDEX(A:A, AGGREGATE(15, 6, ROW($2:$999)/(($C$2:$C$999=LARGE($C:$C, ROW(A1)))*($C$2:$C$999<>"")), COUNTIF($D$1:D1, LARGE($C:$C, ROW(A1)))+1))

提取对应中期日期(B列)

在相邻单元格(如E2)输入,下拉填充10行:

=INDEX(B:B, AGGREGATE(15, 6, ROW($2:$999)/(($C$2:$C$999=LARGE($C:$C, ROW(A1)))*($C$2:$C$999<>"")), COUNTIF($E$1:E1, LARGE($C:$C, ROW(A1)))+1))

公式逻辑说明

  • LARGE($C:$C, ROW(A1)):获取第N个最近的结束日期,下拉时ROW(A1)自动递增,对应第1至第10个目标日期
  • ($C$2:$C$999=LARGE(...))*($C$2:$C$999<>""):筛选出符合目标结束日期且非空的行号,排除C列空白项
  • COUNTIF($D$1:D1, LARGE(...))+1:针对重复结束日期,统计当前已返回的相同日期数量,让AGGREGATE取第N个匹配行,避免重复返回第一行

计算各阶段平均时长

假设提取的10组日期在D2:D11(开始)、E2:E11(中期)、F2:F11(结束,可通过LARGE($C:$C,ROW(A1))提取):

  • 开始到中期的平均时长:
    =AVERAGE(E2:E11 - D2:D11)
    
  • 中期到结束的平均时长:
    =AVERAGE(F2:F11 - E2:E11)
    
  • 总项目周期平均时长:
    =AVERAGE(F2:F11 - D2:D11)
    

Excel 365/2021 简化方案

如果使用支持动态数组的版本,可直接提取最近10个已结束项目的完整数据,无需手动下拉填充:

=TAKE(SORT(FILTER(A:C, C:C<>""), 3, -1), 10)

公式说明:

  • FILTER(A:C, C:C<>""):筛选出C列非空的已结束项目
  • SORT(..., 3, -1):按C列(结束日期)降序排列
  • TAKE(...,10):提取前10行数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 05:27:22