示例数据
A B
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的情况(这很好),但如果我可以避免它,我想。
答案 0 :(得分:8)
匹配函数返回范围索引
=MATCH(matchValue, range, matchType: 0=exact, 1=greater than, -1=less than
=MATCH(0, B2:B7, -1)
匹配范围B2:B7中小于0的第一个单元格。从您的样本数据中,这将返回5
使用“偏移”功能可根据索引值
返回特定单元格答案 1 :(得分:3)
使用 MATCH 公式确定行号。
=MATCH(lookup value, lookup range, lookup type)
=MATCH(0,B1:B7,-1)
您需要使用-1的匹配类型,因为您的数据按降序排列。此设置将返回大于或等于查找值0的最小值。
根据您的数据,这会返回行号 5 。您希望看到行号 6 ,因此公式需要扩展如下。
=MATCH(0,B1:B7,-1)+1
要确定您需要将此公式包装到 ADDRESS 公式中的单元格ID。
=ADDRESS(Row number, Column number)
=ADDRESS(MATCH(0,B1:B7,-1)+1,2)
这将返回值 $ B $ 6
返回相关日期或值可能更有用。这可以使用 OFFSET 公式来完成。
=OFFSET(A1,MATCH(0,B1:B7,-1),0)
=OFFSET(A1,MATCH(0,B1:B7,-1),1)
第一个公式将在A6中返回日期, 8月1日
第二个公式将返回B6中的值, - $ 0.075
答案 2 :(得分:1)
我不确定你是否想要这样做。
如果你想避免使用负数,你可以这样做:
=IF(YOUR_CELL_ACTUAL_FORMULA < 0 , 0, YOUR_CELL_ACTUAL_FORMULA)
如果您想知道数字何时变为负数,您可以这样做:
=MATCH(0, YOUR_AMOUNT_RANGE, -1)
当金额为负时,这将为您提供第一个行号。