fórmula Excel para determinar de identificação da célula, quando uma série de números de voltas negativo

StackOverflow https://stackoverflow.com/questions/650306

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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top