Validação de Dados Tripla Dinâmica no Excel

Neste artigo é demonstrado como fazer uma validação de dados tripla e dinâmica no Excel, fazendo assim uma validação dados com lista em cascata.

Olá pessoal, vamos mais um artigo interessante onde vou abordar a Validação de Dados Dinâmica e Tripla, e se possível compartilhar e curtir este artigo agradecerei muito!

Vamos ao desafio:

Validação de dados tripla dinâmica no Excel

A “Validação de Dados” dentro do Excel é uma ferramenta muito interessante, mais ainda quando conseguimos juntar conceitos das formulas dinâmicas

Criando a validação de dados em cascata

Para fazer a primeira Validação de Dados das “Universidades” é necessário criar uma coluna auxiliar para que traga somente os valores digitados de maneira elegante, do primeiro registro para o último registro, caso tenha algum registro inserido no meio ele irá inserir e manter a elegância da apresentação.

Segue a Formula na Célula R2:

=SEERRO(ÍNDICE($A$1:$N$1;0;MENOR(ÍNDICE((($A$1:$N$1<>””) * COL($A$1:$N$1))*1;0);CONTAR.VAZIO($A$1:$N$1)+LINS($R$2:R2)));””)

Validação de dados tripla dinâmica no Excel 2

Ou a formula em inglês

=IFERROR(INDEX($A$1:$N$1;0;SMALL(INDEX((($A$1:$N$1<>””) * COLUMN($A$1:$N$1))*1;0); COUNTBLANK($A$1:$N$1)+ROWS($R$2:R2)));””)

Arrastei neste exemplo até a célula R20, para caso inserisse novo valor ele já insere conforme a imagem acima.

Agora, é possível vincular esses resultados na primeira validação de dados que será na célula B2

Lembrando que para colocar uma fórmula na Validação de Dados é só ir no Menu Dados->Validação de Dados->Validação de Dados->Configurações-> Permitir->Lista e depois em Fonte: você deverá colocar a formula nesse espaço em branco.

Segue a Fórmula:

=DESLOC($R$2;0;0;CONT.SE($R:$R;”>a”);1) Ou em inglês =OFFSET($R$2;0;0;COUNTIF($R:$R;”>a”);1)

Validação de dados tripla dinâmica no Excel 3

Utilizei o CONT.SE(R:R;”>a”) pois como CONT.VALORES ele retorna os valores com formulas e o CONT.SE(R:R;”>a”) ele só irá retornar 2.

Como esse é um recurso também muito interessante, falarei dele em um outro artigo. Vamos continuar,

Para a Segunda Validação de Dados na célula B3 agora que começa as aplicações interessantes dentro do Excel

Segue a Fórmula:

=DESLOC($A$1;1;CORRESP($B$2;$1:$1;0)-1;1; CONT.SE(DESLOC($A$1;1;CORRESP($B$2;$1:$1;0)-1;1;6) ; “>a”))

Validação de dados tripla dinâmica no Excel 4

ou em inglês =OFFSET($A$1;1;MATCH($B$2;$1:$1;0)-1;1; COUNTIF(OFFSET($A$1;1;MATCH($B$2;$1:$1;0)-1;1;6); “>a”))

A estratégia desta fórmula é a busca dinâmica dos intervalos da Universidade 1 e 2 e contar em um intervalo de 6 colunas (o que pode ser ajustado), resultando somente o intervalo preenchido 3 Colunas – Universidade 1 e 4 Colunas – Universidade 2

E por último a 3° Validação de Dados que está na célula B4

Segue a Fórmula:

=DESLOC($A$1;2;CORRESP(B2;1:1;0)+ CORRESP(B3;DESLOC($A$1;1;CORRESP(B2;1:1;0)-1;1;6);0)-2; CONT.VALORES(DESLOC($A$1;2;CORRESP(B2;1:1;0)+ CORRESP(B3;DESLOC($A$1;1;CORRESP(B2;1:1;0)-1;1;6);0) -2;100;1));1) 

Validação de dados tripla dinâmica no Excel 5

ou em inglês =OFFSET($A$1;2;MATCH(B2;1:1;0)+MATCH(B3;OFFSET($A$1;1;MATCH(B2;1:1;0)-1;1;6);0)-2; COUNTA(OFFSET($A$1;2;MATCH(B2;1:1;0)+MATCH(B3; OFFSET($A$1;1;MATCH(B2;1:1;0)-1;1;6);0)-2;100;1));1)

Neste deixei também um intervalo de 200 linhas o que é possível alterar caso tenha mais registros.

E para terminar e alertar o usuário se está correto ou não é só fazer uma condição de busca de 1 ou 0 com formatação condicional, segue a formula na célula C3:

=SE(ÉERROS(CORRESP(B3;DESLOC($A$1;1;CORRESP(B2;1:1;0)-1;1;6);0));0;1)

Validação de dados tripla dinâmica no Excel 6

ou em inglês =IF(ISERROR(MATCH(B3;OFFSET($A$1;1;MATCH(B2;1:1;0)-1;1;6);0));0;1)

E na Célula C4:

=SE(ÉERROS(CORRESP(B4;DESLOC($A$1;2;CORRESP(B2;1:1;0) +CORRESP(B3;DESLOC($A$1;1;CORRESP(B2;1:1;0)-1;1;6);0)-2; CONT.VALORES(DESLOC($A$1;2;CORRESP(B2;1:1;0)+ CORRESP(B3;DESLOC($A$1;1;CORRESP(B2;1:1;0)-1;1;6);0)-2;100;1));1);0));0;1)

ou em inglês
=IF(ISERROR(MATCH(B4;OFFSET($A$1;2;MATCH(B2;1:1;0)+ MATCH(B3;OFFSET($A$1;1;MATCH(B2;1:1;0)-1;1;6);0)-2; COUNTA(OFFSET($A$1;2;MATCH(B2;1:1;0)+MATCH(B3; OFFSET($A$1;1;MATCH(B2;1:1;0)-1;1;6);0)-2;100;1));1);0));0;1)

E então? Gostou do artigo? Se gostou, compartilhe com seus contatos e vamos juntos explorar essa ferramenta maravilhosa que é o Excel!

Você tem uma outra maneira de fazer a Validação de Dados Tripla? Escreva para mim aqui embaixo nos comentários!

OBS: Obrigado meu grande amigo Alessandro Trovato pelas dicas e revisões no texto

Abraços

Baldini Fabio

Baixe a planilha

Veja mais artigos em guiadoexcel.com.br

Curso Excel Completo – Do Básico ao VBA

Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:


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