在表格范围内find第一个匹配
我有这个工作公式,我想扩大更多的灵活性:
=SUMIF(MyTable[Date],"="&$D5,MyTable[Account Balance])
偶尔, D5
在MyTable[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)))
根据需要填写。
如果在[帐户余额]列中有空白需要丢弃,则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中引入的。它在早期版本中不可用。