PROCX Valores Duplicados

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Luciano Farina

Last updated on July 30, 2023

Este tutorial demonstra como fazer o PROCX de valores duplicados no Excel. Se a sua versão do Excel não for compatível com o PROCX, leia como usar os valores duplicados do PROCV.

mf procx valores duplicados

Pesquisa de Valores Duplicados

No Excel 365, a pesquisa de valores duplicados é mais fácil graças à função FILTRO. Primeiro, demonstraremos a função FILTRO e, em seguida, demonstraremos como procurar valores duplicados com o PROCX.

Com a função FILTRO, basta inserir a matriz (por exemplo, Notas) que queremos retornar e o intervalo de critérios (por exemplo, ID do Estudante) com os critérios (por exemplo, 2021-A).

=FILTRO(C3:C7;B3:B7=E2)

procx duplicados 2

Também podemos aninhar a função FILTRO dentro da função ÍNDICE e inserir um núm_linha (por exemplo, F3) para retornar uma enésima correspondência que desejamos em vez de retornar todas as correspondências.

=ÍNDICE(FILTRO(C3:C7;B3:B7=E3);F3)

procx duplicados 3

Os cenários acima mostram que a função FILTRO é a solução mais conveniente para esses tipos de problemas no Excel 365. No entanto, os cenários de pesquisa que exigem uma lista de valores de pesquisa geralmente são mais bem resolvidos por meio de fórmulas PROCX porque podemos convertê-las em fórmulas de matriz dinâmica, o que as torna mais flexíveis do que a Função FILTRO.

Vamos analisar primeiro a solução de matriz não dinâmica para entender como ela funciona antes de usar a matriz dinâmica PROCX.

PROCX – Valores de Pesquisa Duplicados

Digamos que você queira pesquisar uma lista de valores duplicados usando a função PROCX. Abaixo, à direita, temos nossos valores de pesquisa. À esquerda, temos a tabela de pesquisa. Queremos pesquisar cada valor duplicado e gerar em linhas separadas.

procx duplicados 4

Podemos usar a solução de fórmula de matriz não dinâmica abaixo:

=PROCX(F3&"-"&CONT.SE($F$3:F3;F3);$D$3:$D$7;$C$3:$C$7)

procx duplicados 5

Vamos examinar a fórmula:

ID Única – CONT.SE

Primeiro, juntamos o ID original (por exemplo, ID do Estudante) com a função CONT.SE para criar uma lista de IDs únicos que distinguirá a primeira entrada de um item de suas duplicatas.

=B3&"-"&CONT.SE($B$3:B3;B3)

procx duplicados 6

O bloqueio de uma parte da referência de intervalo dentro da função CONT.SE nos permite contar a ocorrência de um valor à medida que o intervalo se expande.

=CONT.SE($B$3:B3;B3)

procx duplicados 7

Agora, usamos o operador & para unir a função CONT.SE ao ID original. Também adicionamos um separador (por exemplo, “-“).

=B3&"-"&D3

procx duplicados 8

A combinação de tudo resulta em nossa fórmula de ID exclusivo:

=B3&"-"&CONT.SE($B$3:B3;B3)

Valores de Pesquisa Duplicados – Enésima Correspondência

Assim como no caso do ID original, também precisamos criar uma lista de IDs únicos para os valores de pesquisa. Aplicando o mesmo método:

=G3&"-"&CONT.SE($G$3:G3;G3)

procx duplicados 9

Função PROCX

Agora, inserimos a nova matriz de pesquisa e a lista de valores de pesquisa na função PROCX:

=PROCX(H3;$E$3:$E$7;$C$3:$C$7)

procx duplicados 10

PROCX – Valores de Pesquisa Duplicados (Matriz Dinâmica)

Em vez de adicionar novas colunas e copiar ou arrastar fórmulas, podemos converter as fórmulas PROCX anteriores em uma fórmula de matriz dinâmica que pode gerar o mesmo resultado.

Veja como fica:

=PROCX(E3:E7&"-"&CONT.SE(DESLOC(E3;0;0;SEQUÊNCIA(LINS(E3:E7)));E3:E7);
B3:B7&"-"&CONT.SE(DESLOC(B3;0;0;SEQUÊNCIA(LINS(B3:B7)));B3:B7);
C3:C7)

procx duplicados 11

Vamos analisar a fórmula acima:

Assim como no método anterior, primeiro precisamos criar uma lista de IDs únicos usando a função CONT.SE. O desafio é criar uma fórmula de matriz que gerará uma matriz de referências de intervalo (por exemplo, B3, B3:B4, B3:B5 e assim por diante).

Fórmula DESLOC-SEQUÊNCIA-LINS

Podemos usar a combinação das funções DESLOC, SEQUÊNCIA e LINS para retornar uma matriz de referências de intervalo.

Vamos começar com a lista da matriz de pesquisa (por exemplo, B3:B7):

=DESLOC(B3;0;0;SEQUÊNCIA(LINS(B3:B7))

Observação: A fórmula acima não funcionará por si só. O Excel não pode retornar uma matriz de intervalos ou matrizes, mas pode avaliá-la, como veremos mais adiante.

Função LINS

Primeiro, precisamos determinar o número total de linhas usando a função ROWS.

=LINS(B3:B7)

procx duplicados 12

Função SEQUÊNCIA

Em seguida, inserimos o resultado da função LINS na função SEQUÊNCIA para gerar uma lista de números de contagem, que também representa o número de células por intervalo na matriz de intervalos.

=SEQUÊNCIA(C2)

procx duplicados 13

Fórmula DESLOC da Matriz

Em seguida, inserimos os resultados da função SEQUÊNCIA na altura (4o argumento) da função DESLOC para criar os intervalos.

=DESLOC(B3;0;0;C3:C7)

procx duplicados 15

Como mencionado anteriormente, isso não funcionará, mas é assim que a matriz de intervalos deve se parecer:

procx duplicados 16

Começamos com B3 e o expandimos para cada altura (por exemplo, B3:B7).

Observação: DESLOC é uma função volátil, o que significa que ela recalcula sempre que há uma alteração na planilha, mesmo que não esteja relacionada às entradas da própria DESLOC.

Função CONT.SE da Matriz

Agora que temos uma matriz de intervalos, nós a inserimos na função CONT.SE e retornamos uma matriz de enésimas ocorrências.

=CONT.SE(DESLOC(B3;0;0;C3:C7);B3:B7)

procx duplicados 17

ID Único da Matriz

Por fim, concatenamos a saída da matriz da função CONT.SE à matriz de pesquisa (por exemplo, B3:B7) para gerar a matriz de IDs únicos.

=B3:B7&"-"&F3:F7

procx duplicados 18

A combinação de todas as funções resulta em nossa matriz ID Única:

=B3:B7&"-"&CONT.SE(DESLOC(B3;0;0;SEQUÊNCIA(LINS(B3:B7))),B3:B7)

Também fazemos o mesmo com os valores de pesquisa:

=I3:I7&"-"&CONT.SE(DESLOC(I3:I7;0;0;SEQUÊNCIA(LINS(I3:I7)));I3:I7)

procx duplicados 19

A combinação de tudo resulta em nossa fórmula de matriz original:

=PROCX(E3:E7&"-"&CONT.SE(DESLOC(E3;0;0;SEQUÊNCIA(LINS(E3:E7)));E3:E7);
B3:B7&"-"&CONT.SE(DESLOC(B3;0;0;SEQUÊNCIA(LINS(B3:B7)));B3:B7);
C3:C7)

AI Formula Generator

Experimentar gratuitamente

Excel Practice Worksheet

practice excel worksheet

Practice Excel functions and formulas with our 100% free practice worksheets!

  • Automatically Graded Exercises
  • Learn Excel, Inside Excel!

Free Download

Return to Excel Formulas List