Excel combinando INDEX e MATCH

0

Eu tenho uma planilha com os seguintes dados:

  A         B
1 Raisa     A
2 Mellissa  A
3 Emma      A
4 Slyvia    B
5 Salina    C
6 Beula     A
7 Apolonia  F

Eu gostaria de listar todas as pessoas com A, assim:

Raisa
Mellissa
Emma
Beula

Atualmente, uso a seguinte fórmula:

=INDEX(A1:A7;MATCH("A";B1:B7;0))

Qual tem a saída

Raisa

Como altero a fórmula para que as seguintes células mostrem a próxima correspondência?

    
por Fat Dietitian 14.03.2013 / 20:09

3 respostas

5

Você pode usar essa fórmula em D2

=IFERROR(INDEX(A$1:A$7;SMALL(IF(B$1:B$7="A";ROW(B$1:B$7)-ROW(B$1)+1);ROWS(D$2:D2)));"")

confirmado com CTRL + SHIFT + ENTER e copiado para baixo

eu usei; como separadores porque esse é o estilo usado na pergunta

    
por 14.03.2013 / 21:02
3

Se não houver duplicatas em seus dados, continue usando sua fórmula na primeira célula (assumirei E1 e use o seguinte para copiar:

=INDEX(offset($A$1:$A$7;MATCH(E1;$A$1:$A$7;0);0;;);MATCH("A";offset($A$1:$A$7;MATCH(E1;$A$1:$A$7;0);1;;);0))

Claro, um filtro pode facilitar sua vida.

    
por 14.03.2013 / 20:23
2

Semelhante à resposta do nutsch, tente esta fórmula em C2 :

=IFERROR(INDEX(OFFSET($A$1:$A$7,MATCH(C1,$A$1:$A$7,0),0),MATCH($E$1,OFFSET($B$1:$B$7,MATCH(C1,$A$1:$A$7,0),0),0)),"")

Isso pressupõe que você use sua fórmula =INDEX($A$1:$A$7,MATCH($E$1,B1:B7,0)) em C1 - e armazene o valor a ser procurado (por exemplo, A ) na célula E1 .

(Nota: substitua o , por ; de acordo com as configurações locais)

    
por 14.03.2013 / 20:53