Excel公式来确定一系列数字变为负数时的单元ID

样本数据

AB 1 Date Amount 2 Apr 1 $6,000 3 May 1 $4,250 4 June 1 $2,750 5 July 1 $1,000 6 Aug 1 -$0.075 <- This Cell/Row 7 Sept 1 -$0.2500 

在一列数字(实际上是100-200行)中,当价值变为负数时,例如,如果这些是贷款欠款,贷款将被偿还。 注意数字之间的实际差异根据利息,税款,一次性支付等波动。所以我不能只计数(总额/支付)=月数。

有没有办法使用Excel的公式来确定这个? 这可能是一个需要VBA的情况(这很好),但如果我能避免它,我想。

匹配函数返回一个范围索引

 =MATCH(matchValeu, range, matchType: 0=exact, 1=greater than, -1=less than =MATCH(0, B2:B7, -1) 

匹配范围B2:B7中小于0的第一个单元格。 从你的样本数据,这将返回5

使用“偏移”function根据索引值返回特定的单元格

使用MATCH公式来确定行号。

 =MATCH(lookup value, lookup range, lookup type) =MATCH(0,B1:B7,-1) 

您需要使用匹配types-1,因为您的数据以降序排列。 此设置将返回大于或等于查找值0的最小值。

根据您的数据,这将返回行号5 。 您期待看到第6行,所以公式需要扩展如下。

 =MATCH(0,B1:B7,-1)+1 

要确定单元格ID,您需要将此公式包装到ADDRESS公式中。

 =ADDRESS(Row number, Column number) =ADDRESS(MATCH(0,B1:B7,-1)+1,2) 

这将返回$ B $ 6的价值

返回相关date或值可能会更有用。 这可以用OFFSET公式来完成。

 =OFFSET(A1,MATCH(0,B1:B7,-1),0) =OFFSET(A1,MATCH(0,B1:B7,-1),1) 

第一个公式将在8月1日的A6中返回date

第二个公式将返回B6中的值– $ 0.075

我不确定你想要做什么。

如果你想避免负数,你可以这样做:

 =IF(YOUR_CELL_ACTUAL_FORMULA < 0 , 0, YOUR_CELL_ACTUAL_FORMULA) 

如果你想知道什么时候数字变成负数,你可以这样做:

 =MATCH(0, YOUR_AMOUNT_RANGE, -1) 

当金额为负时,这会给你第一个行号。