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:
- C4: O que será procurado
- EMPILHARV(tBase1;tBase2;tBase3): Temos então a união das tabelas 1, 2 e 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.
- 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: