查找表格范围内的最后一场比赛

时间:2016-01-12 11:41:59

标签: excel excel-formula

我的原始问题已经回答here。我一直试图在此基础上构建镜像动作,以解决原始问题试图解决的问题:

=SUMIFS( MyTable[Ending Account Balance], MyTable[Date], AGGREGATE( 15, 6, MyTable[Date] / ( MyTable[Ending Account Balance] <>"" ), COUNTIFS( MyTable[Date], "<="&D2, MyTable[Date], ">="&C2, MyTable[Ending Account Balance], "<>" ) ) ) 

我想找到第一个可用的日期值,但是从最后给出的数量开始计算。上面的工作在它的逻辑上,但总是选择SECOND从最后而不是最后一个(D2),因为我需要它。 ">="&C2的原因是,没有它,我遇到了这个公式何时被复制到它根据未来日期填充的范围的问题,但我需要这个仅适用于当前时间跨度。

1月8日余额222.00是我需要进入E2

enter image description here

2 个答案:

答案 0 :(得分:2)

尝试

=SUM(MyTable[Ending Account Balance] * (MyTable[Date]=MAX(MyTable[Date])))

以数组公式(CTRL+SHIFT+ENTER)输入。

修改:

让它只在一个范围内匹配(C2到D2说):

=SUM(MyTable[Ending Account Balance] * (MyTable[Date]=MAX(MyTable[Date] *
  (MyTable[Date]>=C2) * (MyTable[Date]<=D2) )))

答案 1 :(得分:1)

您正在使用AGGREGATE¹功能的SMALL子功能( 15 );在我看来,你应该使用LARGE子功能( 14 )。

在E2中,

=IF(COUNTIFS(MyTable[ending account balance],  "<>0", MyTable[date], ">="&C2, MyTable[date], "<="&D2),
    SUMIFS( MyTable[ending account balance], MyTable[date],
        AGGREGATE(14, 6, MyTable[date]/((MyTable[ending account balance] <>"")*(MyTable[date]>=C2)*(MyTable[date]<=D2)), 1))
   , "")

由于COUNTIF function检查,填写到E3将导致空白单元格。

account_balance_aggregate_large

account_balance_aggregate_large_2

¹ Excel 2010引入了AGGREGATE function。早期版本不提供。