Função EmpilharV VStack Excel

Neste artigo você aprenderá como funciona a função EmpilharV ou VStack no Excel.

A função EmpilharV tem por finalidade acrescentar tabelas, listas ou matrizes na vertical.

Veja alguns exemplos de como pode usar a função VStack ou EmpilharV no Excel.

Exemplo 1 – Unir Tabelas com VStack

Na imagem você tem duas tabelas abaixo. Nela temos a tabela janeiro e fevereiro e o objetivo é juntar as tabelas com a função Vstack.

A função EmpilharV tem apenas um parâmetro:

=EMPILHARV(matriz1;[matriz2];[matriz3];…)

Para juntar as tabelas de dados, basta você selecionar os dados e passar novos separando entre ponto e vírgula, como abaixo:

Para isso usamos a seguinte função: =EMPILHARV(tJaneiro[#Tudo];tFevereiro).

No exemplo estamos passando no primeiro parâmetro uma tabela com o cabeçalho, e na segunda estamos passando a tabela fevereiro, mas somente os dados da tabela, sem cabeçalho.

Como podemos ver acima, temos então os dados da tabela de janeiro com o cabeçalho e a de fevereiro logo abaixo, somente com os dados.

Exemplo 2 – SeErro na EmpilharV

Ao usar VStack você não tem a obrigação de ter a mesma quantidade de colunas, mas se não tiver, irá aparecer #N/D.

Veja o exemplo abaixo, aonde na segunda tabela não há a coluna Valor.

Para resolver isso usamos a função SEERRO, conforme =SEERRO(EMPILHARV(Tabela219[#Tudo];Tabela320);””).

Sendo assim, temos então os valores vazios na coluna Valor da tabela fevereiro.

Exemplo 3 – EmpilharV e Classificar

Outra forma de utilizar a função VStack é usando a função Classificar para classificar as informações à partir de tabelas unidas.

Desta forma usamos a função passando o cabeçalho da tabela de janeiro e na segunda passamos as união das tabelas janeiro e fevereiro usando o EmpilharV e classificando as informações à partir da primeira coluna.

=EMPILHARV(tJaneiro[#Cabeçalhos];CLASSIFICAR(EMPILHARV(tJaneiro;tFevereiro);1))

Exemplo 4 – Procv

Neste exemplo iremos ter a união de 3 tabelas no Excel e em seguida iremos retornar os dados usando o PROCV.

As 3 tabelas possuem a seguinte estrutura de dados:

Com isso usamos o PROCV para consultar os dados da nota fiscal solicitada no campo NF conforme na imagem abaixo:

Sendo assim passamos os parâmetros:

  1. C4: O que será procurado
  2. EMPILHARV(tBase1;tBase2;tBase3): Temos então a união das tabelas 1, 2 e 3
  3. {1\2\3\4\5\6\7\8\9\10\11}: Aqui temos as colunas que serão retornadas, sendo passadas então mais do que uma coluna no PROCV ao mesmo tempo.
  4. 0: Busca Exata

A fórmula ficou como abaixo:

=PROCV(C4;EMPILHARV(tBase1;tBase2;tBase3);{1\2\3\4\5\6\7\8\9\10\11};0)

Exemplo 5 – VStack com Relatórios no Excel

Outra forma de trabalhar com a EmpilharV é criando relatórios no Excel.

No exemplo abaixo temos um período de Data e o nome da pessoa que deve ser consultada no relatório.

Para isso usamos a seguinte fórmula:

=LET(dadosv;EMPILHARV(Vendas1;Vendas2;Vendas3;Vendas4;Vendas5;Vendas6;Vendas7;Vendas8;Vendas9;Vendas10;Vendas11;Vendas12);
datav;EMPILHARV(Vendas1[Data];Vendas2[Data];Vendas3[Data];Vendas4[Data];Vendas5[Data];Vendas6[Data];Vendas7[Data];Vendas8[Data];Vendas9[Data];Vendas10[Data];Vendas11[Data];Vendas12[Data]);
nomev;EMPILHARV(Vendas1[Nome];Vendas2[Nome];Vendas3[Nome];Vendas4[Nome];Vendas5[Nome];Vendas6[Nome];Vendas7[Nome];Vendas8[Nome];Vendas9[Nome];Vendas10[Nome];Vendas11[Nome];Vendas12[Nome]);
cabecalhov;Vendas1[#Cabeçalhos];
filtrov;FILTRO(dadosv;(datav>=$E$5)*(datav<=$F$5)*(nomev=$E$6));
EMPILHARV(cabecalhov;filtrov))

A explicação da fórmula é que usamos a função LET para criar variáveis.

  • A primeira variável que criamos foi a Dados, nela guardamos os dados empilhados das tabelasVendas1, Vendas2…
  • Em datav, armazenamos os dados da coluna Data da tabela Vendas.
  • Em nomev, temos os dados da coluna Nome da tabela Vendas que foi unida.
  • Em cabecalhov, temos os cabeçalhos da tabela Vendas1, que será usada no resultado.
  • filtrov: usamos aqui um filtro aplicando nas variáveis dadosv, que queremos retornar, o filtro de datav entre os períodos previstos e o nome igual ao do relatório.
  • E por fim temos então o EmpilharV aonde estamos unindo as variáveis cabecalhov e filtrov.

Com isso temos que ao mudar o período e/ou nome do vendedor, os dados são mudados automaticamente.

Exemplo 6 – Relatório

No relatório abaixo temos um outro formato que pode ser feito com a EmpilharV.

Veja que temos o nome dos vendedores na esquerda, no cabeçalho as datas e os totais abaixo e ao final.

Nela usamos a fórmula abaixo, aonde estamos calculando as variáveis de valor, nome, data vertical e horizontal, nome e somas.

=LET(valorv;Vendas2[Valor];
nomev;Vendas2[Nome];
datav;Vendas2[Data];
datah;TRANSPOR(ÚNICO(Vendas2[Data]));
nomeunico;ÚNICO(nomev);
somav;SOMASES(valorv;nomev;nomeunico;datav;datah);
somat;SOMASES(valorv;datav;datah);
somad;SOMASES(valorv;nomev;nomeunico);
somatotal;SOMA(valorv);
EMPILHARV(HSTACK({“Nome”};datah;{“Total”});HSTACK(nomeunico;somav;somad);HSTACK(“Total”;somat;somatotal)))

No exemplo da função, estamos usando a fórmula aonde as variáveis são usadas com SOMASES para a soma vertical e os totais conforme demonstrado no vídeo ao topo do artigo.

Recomendo ver por ele aonde temos passo-a-passo como funciona.

Download Planilha EmpilharV no Excel

Clique no botão abaixo para realizar o  download do arquivo de exemplo:

Baixe a planilha


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel