Excel formula: Data validation specific characters only

Fórmula genérica

=CONTAR(COINCIDIR(EXTRAE(A1,FILA(INDIRECTO("1:"&LARGO(A1))),1),allowed&"",0))=LARGO(A1)

Explicación

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 CONTAR, COINCIDIR y LARGO. En el ejemplo que se muestra, la validación de datos se aplica con esta fórmula:

=CONTAR(COINCIDIR(EXTRAE(B5,FILA(INDIRECTO("1:"&LARGO(B5))),1),allowed&"",0))=LARGO(B5)

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

Cómo funciona esta fórmula

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

EXTRAE(B5,FILA(INDIRECTO("1:"&LARGO(B5))),1)

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

{"A";"A";"A";"-";"1";"1";"1"}

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

allowed&""

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

{"A";"B";"C";"1";"2";"3";"-"}

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

{1;1;1;7;4;4;4}

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

Finalmente, la función CONTAR 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 calculados con la función LARGO. 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 coincidencias con ningún personaje, 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 hacer el trabajo. Si tiene un mejor enfoque, deje un comentario a continuación.


Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT