在表格范围内find第一个匹配

我有这个工作公式,我想扩大更多的灵活性:

=SUMIF(MyTable[Date],"="&$D5,MyTable[Account Balance]) 

偶尔, D5MyTable[Date]范围内将不会匹配。 我希望它做"="&$D5+1然后+1 …依此类推,直到范围内的第一个匹配位于。

下一个date可以使用COUNTIF函数很容易地定位在sorting或未sorting的date范围内,以便将结果sorting并将结果作为kparameter passing给LARGE函数 。

在下面,我已经使用了SUMIFS函数语法来提供比SUMIF函数更多的通用性 (例如参数必须颠倒过来)。

G5的标准公式是,

 =SUMIFS(MyTable[account balance], MyTable[date], LARGE(MyTable[date], COUNTIF(MyTable[date], ">="&F5))) 

根据需要填写。

sumifs_next_date

如果在[帐户余额]列中有空白需要丢弃,则COUNTIFfunction必须成为COUNTIFSfunction ,而LARGEfunction必须成为AGGREGATE¹function 。 在上面的G5中,

 =SUMIFS(MyTable[account balance], MyTable[date], AGGREGATE(14, 6, MyTable[date]/(MyTable[account balance]<>""), COUNTIFS(MyTable[date], ">="&F5, MyTable[account balance], "<>"))) 

¹AGGREGATEfunction是在Excel 2010中引入的。它在早期版本中不可用。