PROCX – Retornar Várias Colunas

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Luciano Farina

Last updated on July 23, 2023

Este tutorial vai demonstrar como retornar várias colunas usando o PROCX no Excel. Se sua versão do Excel não for compatível com o PROCX, leia como retornar várias colunas usando o PROCV.

mf procx retornar multiplas colunas

 

Retornando Colunas Consecutivas com PROCX

Uma vantagem da função PROCX é que ela pode retornar várias colunas consecutivas de uma só vez. Para fazer isso, insira o intervalo de colunas consecutivas na matriz de retorno e ele retornará todas as colunas.

=PROCX(F3;B3:B7;C3:D7)

procx multiplo 1

Observe que aqui nossa matriz de retorno tem duas colunas (C e D) e, portanto, duas colunas são retornadas.

PROCX-FILTRO Retornando Colunas Não Adjacentes

Embora a função PROCX possa retornar várias colunas consecutivas, ela não pode retornar colunas não adjacentes. Para retornar colunas não adjacentes, podemos usar a função FILTRO.

=PROCX(F3;C3:C7;FILTRO(B3:D7;{1\0\1}))

procx multiplo 10

 

Vamos examinar a fórmula:

Função FILTRO

A função FILTRO é comumente usada para filtrar linhas, mas também pode ser usada para filtrar colunas. Para fazer isso, inserimos uma matriz horizontal de 1s (VERDADEIRO) e 0s (FALSO) com o mesmo número de colunas da matriz de entrada (1o argumento). As colunas que correspondem a 0s são filtradas, enquanto as colunas que correspondem a 1s são retornadas.

=FILTRO(B3:D7;{1\0\1})

procx multiplo 11

 

Função PROCX

A saída da função FILTRO é então usada como a matriz de retorno do nosso PROCX.

=PROCX(F3;C3:C7;H3:I7)

procx multiplo 12

A combinação de todas as funções resulta em nossa fórmula original:

=PROCX(F3;C3:C7;FILTRO(B3:D7;{1\0\1}))

PROCX-FILTRO-CONT.SE Retornando Colunas Não Adjacentes

Em vez de selecionar manualmente as colunas a serem filtradas, podemos usar a função CONT.SE para determinar automaticamente as colunas que serão retornadas e filtradas.

=PROCX(F3;C3:C7;FILTRO(B3:D7;CONT.SE(G2:H2;B2:D2)))

procx multiplo 13

 

Vamos examinar a fórmula:

Função CONT.SE

Primeiro, vamos usar a função CONT.SE para contar a instância de cada cabeçalho de origem (por exemplo, B2:D2) dos cabeçalhos de saída (por exemplo, M2:N2).

=CONT.SE(N2:O2;B2:D2)

procx multiplo 14

Função FILTRO

O resultado da matriz da função CONT.SE é então usado como condição para filtrar as colunas.

=FILTRO(B3:D7;H3:J3)

procx multiplo 15

 

Função PROCX

Por fim, podemos usar o resultado da função FILTRO na função PROCX para retornar as colunas que desejamos.

=PROCX(F3;C3:C7;K3:L7)

procx multiplo 9

A combinação de todas as funções resulta em nossa fórmula original:

=PROCX(F3;C3:C7;FILTRO(B3:D7;CONT.SE(G2:H2;B2:D2)))

PROCX-ESCOLHER Retornando as Colunas em uma Ordem Diferente

A fórmula PROCX-FILTRO-CONT.SE pode retornar colunas não adjacentes, mas, e se quisermos retornar qualquer coluna em uma ordem diferente? Para resolver isso, vamos usar a função ESCOLHER.

=PROCX(F3;B3:B7;ESCOLHER({2\1};C3:C7;D3:D7))

procx multiplo 16

Vamos examinar a fórmula:

Função ESCOLHER

Primeiro, usamos a função ESCOLHER para unir colunas em uma ordem específica em uma matriz.

=ESCOLHER({2\1};C3:C7;D3:D7)

procx multiplo 17

Observação: Inserimos as colunas que queremos separadamente na função ESCOLHER (por exemplo, C3:C7, D3:D7) e as ordenamos usando o núm_índice (1o argumento).

Função PROCX

A matriz resultante da função ESCOLHER é usada como a matriz de retorno.

=PROCX(F3;B3:B7;H3:I7)

procx multiplo 18

A combinação de todas as funções resulta em nossa fórmula original:

=PROCX(F3;B3:B7;ESCOLHER({2\1};C3:C7;D3:D7))

PROCX-ESCOLHERCOLS Retornando as Colunas em uma Ordem Diferente

A fórmula PROCX-ESCOLHER torna-se longa e tediosa se tivermos muitas colunas para retornar. Felizmente, há uma nova função de matriz (atualmente na versão BETA do Excel 365) que é mais conveniente do que a função ESCOLHER – a função ESCOLHERCOLS.

=PROCX(F3;B3:B7;ESCOLHERCOLS(B3:D7;3;2))

procx multiplo 19

Vamos examinar a fórmula:

Função ESCOLHERCOLS

Diferentemente da função ESCOLHER, em que unimos as colunas em uma ordem especificada, a função ESCOLHERCOLS retorna as colunas que selecionamos na ordem que especificamos.

=ESCOLHERCOLS(B3:D7;3;2)

procx multiplo 20

 

Observação: Os números que especificamos nos argumentos col_num (a partir do 2o argumento) são os números relativos das colunas da matriz fornecida (por exemplo, B3:D7).

Função PROCX

Por fim, podemos usar a função PROCX com o resultado da função ESCOLHERCOLS.

=PROCX(F3;B3:B7;H3:I7)

procx multiplo 21

A combinação de todas as funções resulta em nossa fórmula original:

=PROCX(F3;B3:B7;ESCOLHERCOLS(B3:D7;3;2))

PROCX-ESCOLHERCOLS-CORRESP Retornando Colunas em Ordem Diferente

Em vez de selecionar manualmente as colunas e sua ordem, podemos usar a função CORRESP para determinar automaticamente as colunas e sua ordem que são exigidas pela tarefa.

=PROCX(F3;B3:B7;ESCOLHERCOLS(B3:D7;CORRESP(G2:H2;B2:D2;0)))

procx multiplo 22

Vamos examinar a fórmula:

Função CORRESP

Primeiro, usamos a função CORRESP para determinar as posições relativas das colunas de cada cabeçalho de saída a partir dos cabeçalhos de origem.

=CORRESP(L2:M2;B2:D2;0)

procx multiplo 23

Função ESCOLHERCOLS

Agora que temos as posições das colunas selecionadas, podemos usar a função ESCOLHERCOLS para retornar as colunas selecionadas em uma matriz.

=ESCOLHERCOLS(B3:D7;H3:I3)

procx multiplo 24

Função PROCX

A última etapa é alimentar o resultado da função ESCOLHERCOLS com a matriz de retorno da função PROCX.

=PROCX(F3;B3:B7;J3:K7)

procx multiplo 25

A combinação de todas as funções resulta em nossa fórmula original:

=PROCX(F3;B3:B7;ESCOLHERCOLS(B3:D7;CORRESP(G2:H2;B2:D2;0)))

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