Carregar uma listagem de acordo com o item selecionado na primeira lista – Parte 2

Olá pessoas Excelentes!!!
Antes de continuar lendo este artigo, leia a primeira parte, onde explico como configurar a validação de dados com mais detalhes.
O objetivo deste artigo é construir uma listagem de seleção de itens dentro da própria célula, no estilo dropdown (caixa de listagem) através da validação de dados, mas, com um diferencial que a segunda lista será restringida pela escolha feita na primeira listagem. Especificamente, nesta segunda parte do tutorial, mostrarei como listar as cidades apenas do estado selecionado numa primeira lista.
Espero que gostem.

Exemplo 2 – Exibir uma listagem apenas com as cidades do estado selecionado na lista

Configurar a primeira lista

Para criarmos a validação para preencher a lista da célula com as categorias, realizaremos os procedimentos abaixo, que servirão também para o segundo exemplo, alterando-se apenas as referências. Veja.
1° passo: Crie uma planilha chamada Cidades, clique na célula C2.
2° passo: Depois selecione a aba Dados e clique em Validação de Dados.

3° passo: Na janela que vai surgir, selecione a aba Configurações. No critério de validação Permitir, escolha Lista e em Fonte selecione o intervalo que contem as cidades – que no nosso exemplo é o intervalo de C21 até D21 – digitando =Bases!$C$21:$D$21. Dê OK. Eu coloquei apenas para os estados de RJ e SP. Você pode criar listas para todos os demais estados, com isso a referência das colunas seria ampliada, ok.

 
Você perceberá que no lado direito da célula apareceu uma setinha para que você possa selecionar um valor presente na lista que acabamos de definir.
 
Restringindo a segunda listagem de acordo com a seleção da primeira lista

Acesse a planilha Bases e crie uma tabela Cidades da mesma altura que a maior lista de cidades (a que possui mais itens na lista). E criaremos uma fórmula matricial que preencherá essa lista com as cidades do estado escolhido.
Selecione todas as linhas da tabela Cidades, digite a fórmula e tecle CTRL+SHIFT+ENTER:

=SEERRO(SE(DESLOC($C$22:$C$666;0;CORRESP(Cidades!$C$2;$C$21:$D$21;0)-1)=0;””; DESLOC($C$22:$C$666;0;CORRESP(Cidades!$C$2;$C$21:$D$21;0)-1));””)

Essa fórmula irá mover a referência para o lado de acordo com o estado escolhido pelo usuário.
Agora volte para a planilha Cidades, selecione a célula C4 e repita os passos 2 e 3, alterando apenas os valores para Fonte.

=DESLOC(Bases!$F$22:$F$25;0;0;CONT.VALORES(Bases!$F$22:$F$666) – CONTAR.VAZIO(Bases!$F$22:$F$666))

 
Como disse na primeira parte desse tutorial não vou me ater em explicar as funções utilizadas acima, mas, caso queira aprender um pouco mais sobre elas, recomendo meu eBook 7 Fórmulas do Excel que Podem Salvar sua Vida, uma coletânea das 7 funções mais utilizadas no Excel pela maioria dos usuários e nos mais diversos segmentos. E, vocês podem ler as diversas maneiras de contar no Excel.
Agora quando você selecionar um estado, a lista de cidades correspondente será carregada na segunda lista.
Deixei o arquivo pronto para você baixarem no link no final deste artigo.
 
Quem gostou pode comentar lá embaixo, compartilhar no twitter e facebook, seguir no twitter também é legal.
 
Um abraço e até a próxima.

5 comentários em “Carregar uma listagem de acordo com o item selecionado na primeira lista – Parte 2”

  1. Estou com problemas!!! criei as listas com os estados e 10 cidades de cada estado. Mas quando seleciono só aparecem de alguns estados e alguns não aparecem as cidades. Em todo caso se quiser ver o arquivo só falar seu email q eu mando! Preciso urgentemente isso, pois preciso usar em um sistema que estou trabalhando.

    Responder
  2. Reinaldo, boa tarde!
    Estou tentando fazer uma planilha conforme suas explicações, porem não estou conseguindo. Tem alguma forma de enviar a planilha a vc para suas considerações.
    Obrigado.
    Alex

    Responder

Deixe um comentário