Como LOOKUP não é bom porque é necessário um conjunto ordenado, isso seria
=INDEX(A63:A91,MATCH(MAX(IF(D63:D91<0,D63:D91)),D63:D91,0))
, inserido como uma fórmula de matriz (Ctrl + Shift + Enter) (desde que a coluna A tenha datas).
Eu tenho uma tabela do excel que se parece com isso:
Date Original Actual
11/10/10 15 12
12/10/10 12 10
...
24/10/10 2 1
25/10/10 -2 0
Eu quero saber a data em que a coluna original se torna negativa, 25/10/10 neste exemplo.
Eu consegui descobrir o valor usando essa fórmula: =MAX(IF(D63:D91 <0,D63:D91))
que me diz -2.
Eu só quero que olhe para a coluna de data em que o valor original = -2 e me diga essa data, mas não consigo descobrir uma maneira de fazer isso!
Alguém tem alguma ideia?
Infelizmente, a solução GSerg não funciona se houver outros valores negativos maiores que -2, por exemplo -1, mais abaixo na tabela.
Para identificar a primeira ocorrência de um valor negativo (de acordo com a data) e a data relacionada, sugiro que:
{=MIN(IF(D63:D91<0,A63:A91,""))}
Observe que as datas na coluna A não precisam ser classificadas.
Se, em vez disso, alguém precisar da primeira instância de uma entrada negativa, independentemente da data, sugiro:
{=INDIRECT("A"&MIN(IF(D63:D91<0,ROW(63:91),"")))}
ou, se a coluna A precisar ser dinâmica:
{=INDEX(A$1:A91,MIN(IF(D63:D91<0,ROW(63:91),"")))}
espero que isso ajude.
Eu adicionaria uma coluna oculta na frente das datas, colocando com um if
a 1 se o valor anterior na coluna original for positivo e o valor atual na coluna original for negativo, colocando 0 caso contrário. / p>
E faça uma pesquisa vertical em 1 na nova coluna.
Acho que muitas vezes uma coluna oculta torna o código muito mais claro (em vez de uma fórmula muito longa). Eu sou um programador, não-programadores tendem a usar funções muito longas, tornando muito mais difícil de manter.