Critérios de Validação de Dados em planilhas diferentes Excel 2007

Suponha que você possua em uma planilha, duas colunas, uma contendo os nomes de pessoas e outra que contém seus cargos. É normal querer restringir a inserção de cargos, ou seja, permitir apenas que cargos pré-cadastrados sejam inseridos.

Até aí tudo bem, bastava você usar Validação Condicional e tudo resolvido. Mas esse recurso do Excel possui um "defeito", ele busca apenas dados dentro da planilha onde a validação está sendo aplicada. Portanto, se você usa a regra em uma planilha, mas sua lista de dados para a validação está em outra, lascou tudo.

Mas esse probleminha tem solução e vamos a ela!

Tome como referencia para nosso exemplo a planilha 1 seguinte:



E a planilha 2 com os cargos que comporão a Validação Condicional:



Ok. Na planilha 2, selecione o intervalo com os valores, isto é, selecione de A1:A8.

Após a seleção, digite um nome para esse intervalo. Para fazer isso, depois de ter selecionado o intervalo, do lado esquerda da barra de fórmulas, logo acima das letras das colunas, tem uma barra chamada "Caixa de Nome", clique nela e digite o nome "Dados" (sem aspas).

Agora vá para a planilha 1 e selecione o intervalo de B2:B10. Vá em "Dados > Validação de Dados > Validação de Dados" ou use o atalho ALT+S+V+V. Na janela que abrir, no campo "Permitir", selecione lista. Vai ser habilitado outro campo chamado "Fonte"; nele, digite "=Dados" (sem as aspas).

Dê OK e pronto!

Selecione a célula B2 e clique na seta que aparece no lado dela. O resultado final deve ser algo semelhante ao visto na imagem a seguir:

9 comentários:

  1. A dica é boa, mas caso precise adicionar novos ítens, dá trabalho, pois uma vez selecionado o intervalo das células não dá pra expandir tão fácil e manter a lista atualizada, nem para apagar o nome "Dados" colocado na "caixa de nomes". E criar uma nova seleção. Uma vez criada a lista, caso quisermos ordenar tudo em ordem alfabética, pode-se fazer isto sem problemas, mas a questão é: Se quisermos inserir um novo nome à lista, por ex: no lugar onde está "Escritor", ou "Designer", mas manter a lista atual e atualizá-la, deve-se inserir uma nova linha abaixo do 1º ítem ou uma linha acima do último ítem, e no caso mover a palavra "Escritor", ou "Designer" para a célula na coluna "B" e reorganizar tudo, assim feito, atualiza-se e mantém todos os nomes antigos e novos na lista.

    ResponderExcluir
  2. Companheiro, no caso do problema citado por você, a solução é simples também: Basta usar a função =DESLOC() para encontrar os dados que queremos e também a função =CONT.VALORES() para contar quantas linhas estão preenchidas. =]

    Não testei sua solução, mas a verificarei em breve. Obrigado pela colaboração.

    ResponderExcluir
  3. Luiz Alfredo Bernardo24 de outubro de 2011 às 10:03

    Muito interessante a dica! Sempre usei o combo DESLOC e CONT.VALORES para criar validações "condicionais" e que se expandissem sozinhas, sem que fosse necessário reconfigurar nada, mas sempre fiquei limitado à mesma planilha. Nunca pensei em usar nomes para burlar essa limitação. Realmente muito útil!

    ResponderExcluir
  4. Obrigado pelos elogios! Essa é a meta do nosso site: Expandir o conhecimento e aprender com vocês.

    Obrigado pela visita! Abraços!

    ResponderExcluir
  5. Adorei... muito fácil de entender e mais ainda de fazer... muito obrigada e parabéns!!

    ResponderExcluir
  6. Bom Dia,
    Tentei usar a função DESLOC no Excel 2007, e apareceu a msg que não pode usar valores de outra planilha.

    ResponderExcluir