Localizando a linha anterior com um determinado valor

3

Digamos que eu tenha uma tabela com três colunas (a ordem é importante e não pode ser alterada), as linhas são classificadas por A:

   A                B            C
      date              ID     last_date
10/05/2015        29A06E95     
10/08/2015        E5A884C4
10/12/2015        D24F4975
10/12/2015        D24F4976
10/21/2015        29A06E95

Para qualquer linha, se o ID também aparecer em qualquer linha acima do atual, quero preencher a coluna C com a data mais recente (ou, como as linhas são classificadas por A, o valor de data da linha anterior com o mesmo ID). Por exemplo, aqui o resultado seria assim:

   A                B            C
      date              ID      prev_date
10/05/2015        29A06E95        <blank>
10/08/2015        E5A884C4        <blank>
10/12/2015        29A06E95     10/05/2015
10/12/2015        D24F4976        <blank>
10/21/2015        29A06E95     10/12/2015

Como faço isso (não consegui usar MATCH ou VLOOKUP, pois o primeiro encontra a primeira correspondência e o segundo quer o valor da pesquisa na primeira coluna)?

Além disso, vi soluções com fórmulas de matriz, mas elas não funcionam dentro de um contexto de tabela de dados.

    
por Dmitry B. 21.01.2016 / 21:05

3 respostas

3

Funciona a partir do Excel 2007. Selecione C3 e coloque esta fórmula:

=IFERROR(INDIRECT("A"&MAX(ROW(B$2:B2)*(B$2:B2=B3))),"")

Confirme a fórmula por ctrl + deslocamento + digite .

Arraste (ou copie) até onde for necessário.

    
por 21.01.2016 / 23:07
0

Você não pode simplesmente criar uma segunda planilha com as colunas e datas invertidas? Porque então as soluções são um simples vlookup.

    
por 21.01.2016 / 22:20
0

Acho que isso deve ser feito:

=IFERROR(IF(A2=INDEX(MIN($A$2:$A$6),MATCH(B2,$B$2:$B$6,0)),"",INDEX(MIN($A$2:$A$6),MATCH(B2,$B$2:$B$6,0))),"")

Coloque isso em C2, edite os intervalos conforme necessário, insira como uma matriz (com CTRL + SHIFT + ENTER ) e arraste para baixo.

Edit: Ok, esqueça, aparentemente as matrizes não estão funcionando? Você pode esclarecer o que você entende por "contexto de tabela"? As fórmulas do AFAIK Array ainda devem funcionar com tabelas, não?

    
por 21.01.2016 / 23:42