Listas dependentes Excel - Validação em cascata
Especialista em Excel

Listas dependentes Excel - Validação em cascata
Veremos como criar caixas de listagem com listas dependentes no Excel, a validação em cascata.
Por exemplo, você tem um cadastro e precisa que o cliente preencha a UF e a Cidade neste cadastro.
Cada UF tem as suas respectivas cidades e você quer que seja preenchido corretamente, por isso deseja permitir que ele selecione apenas as cidades da UF selecionada por ele.
Desta forma o cadastro ficará correto, pois o próprio Excel se encarregará de bloquear entradas de dados incorretas.
Vejamos como fazer isto em qualquer versão do Excel.
Preparar a pasta de trabalho
Para o nosso trabalho nós criamos três planilhas:
- Dados: Nesta planilha nós colocamos as tabelas e listas de dados com informações que são utilizadas na pasta de trabalho.
- Cálculos: Aqui são realizados os cálculos auxiliares.
- Validação: Na planilha de validação, é a parte aonde os dados serão utilizados ao cliente.
Planilha Dados

Temos então duas tabelas, uma com a lista de UF única, vista acima em E9.
E a outra tabela nós temos Cidades e UFs em B9 aonde a lista de UF está classificada, isto é obrigatório para que a técnica funcione.
Planilha Cálculos
Na planilha Cálculos nós temos as fórmulas auxiliares que são utilizadas na planilha.
No caso desta planilha nós colocamos ali a UF que deverá ser filtrada na tabela de Validação.

Este valor em C9 será utilizado nas fórmulas de cálculos. Clique em C9 e altere o nome da fórmula para UFSelecionada.
Fórmulas de Gerenciador de Nomes
Agora precisamos criar os intervalos nomeados auxiliares que serão utilizados nas fórmulas.

Primeiro criaremos no gerenciador de nomes a lista de UF, clique em Novo e Digite UF no nome e em Refere-se a selecione a coluna da Tabela UF conforme na figura.
Este intervalo nomeado será utilizado para criar uma lista de validação com as UFs para o cliente.
Crie um novo intervalo e nomeado como Cidades e preencha com a seguinte fórmula: =DESLOC(Dados!$B$9;CORRESP(UFSelecionada;Tabela3[UF];0);;CONT.SE(Tabela3[UF];UFSelecionada)).

A fórmula funciona da seguinte forma:
=DESLOC(Dados!$B$9;CORRESP(UFSelecionada;Tabela3[UF];0);;CONT.SE(Tabela3[UF];UFSelecionada))
A ideia da função é selecionar a célula inicial da coluna Cidade, esta célula será deslocada conforme o uso da função Corresp que identifica a linha aonde está a UF que está definida em UFSelecionada.
Desta forma a célula B9 é deslocada para a próxima célula aonde está a primeira UF que está listada conforme a que estiver definida na tabela planilha Cálculos.
Depois por fim é alterada a quantidade de registros que existem com a UF selecionada, com a quantidade de estados que existem na tabela de Cidades e UFs.
Utilizando as listas de validação em cascata
Na planilha Validação é aonde realizamos nossos testes.
Para criar a validação de listas dependentes realize o seguinte processo:
Selecione aonde serão escolhidas as UFs e clique em Dados->Validação de dados.
Depois selecione a opção de Validação Listar e digite =UF na fonte.

Veja que ao clicar na célula as UFs são listadas. Agora trataremos das Cidades.
Selecione aonde serão escolhidas as Cidades, na coluna ao lado da UF e clique em Dados->Validação de dados.
Depois selecione a opção de Validação Listar e digite =Cidade na fonte.

Agora a lista de cidades está sendo exibida ao selecionar na célula da lista de Cidades.
Mas a lista de cidades é sempre a mesma, iremos agora tratar de como alterar a UF na planilha Cálculos.
Como alterar a UF na fórmula de Validação em Cascata
Para alterar a UF e fazer com que a lista de Cidades seja alterada pressione ALT+F11 e clique duas vezes sobre a planilha Validação.

Agora utilizaremos um código para que ao mudar a célula o valor em UFSelecionada seja alterado automaticamente em Calculos. Digite o seguinte código VBA:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 Then
Calculos.Range("ufselecionada").Value = Cells(Target.Row, 2).Value
End If
End Sub
No código acima, nós temos o evento do VBA que identifica se ao alterar a célula na planilha Validação sejam alterados os valores na célula Calculos.Range("ufSelecionada").
Este valor é mudado apenas se a Target.Column for igual a 3, ou seja a coluna aonde está a nossa lista de cidades.
Assim, o valor que estiver digitado na coluna de UF irá alterar a lista de cidades automaticamente.
Conclusão listas encadeadas no Excel
Com esta aplicação podemos criar quantas listas de validações precisarmos, funcionando em versões mais antigas no Excel.

Download
Faça o download da planilha de exemplo e para analisar a fórmula preencha o formulário de e-mail e faça o download. E no vídeo no topo do artigo você pode assistir esta explicação.
Principais recursos
Confira o que este material oferece para você.
Perguntas frequentes
O material é realmente gratuito?
Sim. O acesso é gratuito e não exige cadastro.
Preciso ter o Excel instalado?
Recomendamos o Excel 2013 ou superior para todos os recursos.
Como faço para receber atualizações?
As atualizações são automáticas dentro da própria planilha.
Funciona no Excel do Mac?
Sim, funciona no Excel para Windows e para Mac.
Funciona no celular?
É possível visualizar no app do Excel; a edição completa é no computador.
Planilhas relacionadas
Planilha de Fluxo de Caixa
R$ 89,90
Controle de Estoque
R$ 69,90
Planilha Financeira Empresarial
R$ 79,90
Dashboard Financeiro no Excel
R$ 49,90





