fórmula Excel para determinar de identificação da célula, quando uma série de números de voltas negativo
-
19-08-2019 - |
Pergunta
Os dados da amostra
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
Em uma coluna de números (na realidade 100-200 linhas), quando o valor muda para negativo, por exemplo se esses Estamos valores devidos em um empréstimo, quando o empréstimo seria pago por. Note-se a diferença entre os números flutua com base em juros, impostos, one-off pagamentos, etc Então, eu não posso simplesmente contar (total / pagamento) = número de meses.
Existe uma maneira de usar fórmulas do Excel para determinar isso? Este pode ser um caso de necessitar de VBA (que é bom), mas se eu puder evitar isso, eu gostaria de.
Solução
A função match retorna um índice de intervalo
=MATCH(matchValue, range, matchType: 0=exact, 1=greater than, -1=less than
=MATCH(0, B2:B7, -1)
Jogo a primeira célula que é inferior a 0 no intervalo B2: B7. De seus dados de amostra este voltaria 5
Use a função Offset para retornar uma célula específica com base no valor do índice
Outras dicas
Use o JOGO fórmula para determinar o número da linha.
=MATCH(lookup value, lookup range, lookup type)
=MATCH(0,B1:B7,-1)
Você vai precisar usar o tipo de correspondência de -1, como seus dados estão em ordem decrescente. Esta configuração irá retornar o menor valor que é maior que ou igual ao valor de pesquisa de 0.
Com base em seus dados, isso iria retornar o número da linha 5 . Você está esperando para ver o número da linha 6 , então as necessidades de fórmulas para ser estendido a seguir.
=MATCH(0,B1:B7,-1)+1
Para determinar a identificação de células que você precisa quebrar esta fórmula em um ENDEREÇO ?? fórmula.
=ADDRESS(Row number, Column number)
=ADDRESS(MATCH(0,B1:B7,-1)+1,2)
Este seria retornar o valor $ B $ 6
Ele provavelmente seria mais útil para devolver o valor de data ou relacionado. Isso pode ser feito com um OFFSET fórmula.
=OFFSET(A1,MATCH(0,B1:B7,-1),0)
=OFFSET(A1,MATCH(0,B1:B7,-1),1)
A primeira fórmula voltaria a data em A6, 01 de agosto
A segunda fórmula retornaria o valor na B6, - $ 0,075
Eu não tenho certeza o que quer fazer.
Se você quer evitar ter número negativo que você pode fazer:
=IF(YOUR_CELL_ACTUAL_FORMULA < 0 , 0, YOUR_CELL_ACTUAL_FORMULA)
Se você quer saber quando o número vez de ser negativa que você pode fazer:
=MATCH(0, YOUR_AMOUNT_RANGE, -1)
Isto lhe dará o número primeira linha quando o valor é negativo.