Lista suspensa dependente


#1

Ola, tenho uma planilha com 2 colunas, a primeira tem o nome dos servidores e a segunda tem o nome dos bancos de cada servidor.
E queria criar uma lista suspensa onde apareçam apenas os nomes dos bancos existentes para o servidor escolhido.
exemplo:

Servidor banco
s1 db1_s1
s1 db2_s1
s2 db1_s2
s2 db2_s2
s2 db3_s2
s3 db1_s3
s3 db2_s3
s4 db1_s4

uma vez escolhido o Servidor s1, a lista suspensa mostraria os 2 banco (db1_s1 e db2_s1)

obrigada pela ajuda


#2

Olá, @dengemann.

Para fazer isto você precisará nomear intervalos e criar a lista baseado no intervalo. Uma ideia é criar os nomes dos intervalos exatamente como o nome dos servidores, assim, por exemplo, nomearia estas duas primeiras linhas dos bancos de dados como s1 e o mesmo para os demais.

Depois criaria a lista suspensa com os nomes dos servidores e, ao selecionar, outra lista suspenas (em outra célula) indicando o intervalo selecionado (no caso estará com o mesmo nome do servidor, o que facilitará este link. Assim, no exemplo citado, apareceriam os dois bancos de dados nomeados como s1.


#3

Ola Xavier, como são vários servidores, existe alguma forma prática para “nomear os intervalos” ou precisaria fazer isso manualmente?

no caso da lista suspensa para selecionar os servidores, não tenho dúvida…
mas em relação a segunda lista suspensa, que terá que mostrar apenas os bancos do servidor selecionado, não sei o que colocar na fonte da lista suspensa.


#4

Bom dia…
É meio complicado explicar aqui, mas vou tentar:
Selecione os servidores (s1 até o s4) e dê um nome lá na caixa de nomes: servidores
Esta lista ai da coluna A, tem que estar classificada…

image

Faça o mesmo para bancos.
Agora crie uma lista sem repetição dos servidores e chame de serv
Lá na coluna I2 eu coloquei a lista assim:
Em DADOS, validação de dados, configurações, em permitir selecione lista e abaixo, na fonte coloque
=serv

Lá na coluna J2 eu coloquei a lista assim:
Em DADOS, validação de dados, configurações, em permitir selecione lista e abaixo na fonte coloque

=DESLOC(bancos;CORRESP(I2;servidores;0)-1;0;CONT.SE(servidores;I2))

Acho que é isto… espero ter ajudado

abs


#5

Ola Iporto, funcionou, muito obrigada


#6

@dengemann, é na mão mesmo. Mas a boa notícia é que você só faz uma vez.

Sobre a lista suspensa, basta usar a função INDIRETO referenciando a célula onde estará o nome do servidor, assim ela trará o nome pra dentro da função que vai transformá-la no intervalo que tem aquele nome.