Fórmula de Excel: caracteres específicos de validación de datos únicamente -

Tabla de contenido

Fórmula genérica

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

Resumen

Para usar la validación de datos para permitir solo una lista de caracteres específicos, puede usar una fórmula de matriz bastante complicada basada en las funciones COUNT, MATCH y LEN. En el ejemplo que se muestra, la validación de datos se aplica con esta fórmula:

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

donde "permitido" es el rango con nombre D5: D11.

Explicación

Trabajando desde adentro hacia afuera, la función MID se usa para generar una matriz a partir del texto ingresado en B5 con este fragmento:

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

explicado en detalle aquí. El resultado es una matriz como esta:

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

que entra en COINCIDIR como valor de búsqueda. Para la matriz de búsqueda, usamos el rango con nombre "permitido", concatenado a una cadena vacía (""):

allowed&""

La concatenación convierte cualquier número en cadenas, de modo que estamos haciendo coincidir manzanas con manzanas. El resultado es una matriz como esta:

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

El último argumento en MATCH, match_type se establece en cero para forzar una coincidencia exacta. Debido a que le damos a MATCH múltiples valores de búsqueda, obtenemos una matriz con múltiples resultados:

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

Cada número de esta matriz representa una coincidencia. En caso de que no se encuentre una coincidencia para un carácter, la matriz contendrá un error # N / A.

Finalmente, la función COUNT se utiliza para contar los números en la matriz de resultados, que se compara con un recuento de todos los caracteres en la celda calculado con la función LEN. Cuando COINCIDIR encuentra una coincidencia para todos los caracteres, los recuentos son iguales, la fórmula devuelve VERDADERO y la validación de datos se realiza correctamente. Si COINCIDIR no encuentra ninguna coincidencia con ningún carácter, devuelve # N / A en lugar de un número. En ese caso, los recuentos no coinciden y la validación de datos falla.

Nota: esta fórmula se basa en la fuerza bruta para realizar el trabajo. Si tiene un mejor enfoque, deje un comentario a continuación.

Articulos interesantes...