Fórmula do Excel: somente caracteres específicos da validação de dados -

Fórmula genérica

=COUNT(MATCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),allowed&"",0))=LEN(A1)

Resumo

Para usar a validação de dados para permitir uma lista de caracteres específicos apenas, você pode usar uma fórmula de matriz bastante complicada com base nas funções COUNT, MATCH e LEN. No exemplo mostrado, a validação de dados é aplicada com esta fórmula:

=COUNT(MATCH(MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1),allowed&"",0))=LEN(B5)

onde "permitido" é o intervalo nomeado D5: D11.

Explicação

Trabalhando de dentro para fora, a função MID é usada para gerar uma matriz de texto inserido em B5 com este trecho:

MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)

explicado em detalhes aqui. O resultado é uma matriz como esta:

("A";"A";"A";"-";"1";"1";"1")

que vai para MATCH como o valor de pesquisa. Para a matriz de pesquisa, usamos o intervalo nomeado "permitido", concatenado a uma string vazia (""):

allowed&""

A concatenação converte quaisquer números em strings, de modo que estamos combinando maçãs com maçãs. O resultado é uma matriz como esta:

("A";"B";"C";"1";"2";"3";"-")

O último argumento em MATCH, match_type é definido como zero para forçar uma correspondência exata. Como fornecemos a MATCH vários valores de pesquisa, obtemos uma matriz com vários resultados:

(1;1;1;7;4;4;4)

Cada número nesta matriz representa uma correspondência. Caso uma correspondência não seja encontrada para um caractere, a matriz conterá um erro # N / A.

Finalmente, a função COUNT é usada para contar os números na matriz de resultado, que é comparada a uma contagem de todos os caracteres na célula calculada com a função LEN. Quando MATCH encontra uma correspondência para todos os caracteres, as contagens são iguais, a fórmula retorna TRUE e a validação de dados é bem-sucedida. Se MATCH não encontrar nenhum caractere correspondente, ele retornará # N / A em vez de um número. Nesse caso, as contagens não correspondem e a validação de dados falha.

Nota: esta fórmula depende da força bruta para fazer o trabalho. Se você tiver uma abordagem melhor, deixe um comentário abaixo.

Artigos interessantes...