Fórmula genérica
=SUMAPRODUCTO(--ESNUMERO(HALLAR(list,A1)))=0
Explicación
Para no permitir la entrada que contiene una de muchas cosas, puede usar una regla de validación de datos personalizada basada en la función HALLAR.
En el ejemplo que se muestra, la validación de datos aplicada a B5: B11 es:
Esta fórmula utiliza la función HALLAR para probar la entrada del usuario para cada valor en la "lista" de rango con nombre. La lógica de búsqueda es "contiene": cuando se encuentra un valor de "lista", HALLAR devuelve la posición del valor como un número. Si no se encuentra, HALLAR devuelve un error.
La función ESNUMERO convierte los números a VERDADERO y los errores a FALSO, y el operador doble negativo cambia los valores de VERDADERO FALSO a 1s y ceros. Como la "lista" de rango con nombre contiene 5 valores, obtenemos 5 resultados en una matriz como esta:
{0; 0; 0; 0; 0}
SUMAPRODUCTO resume los elementos de la matriz y el resultado se prueba contra cero. Siempre que todos los elementos sean cero, SUMAPRODUCTO devuelve cero y la validación se realiza correctamente. Si SUMAPRODUCTO devuelve otro número (es decir, cuando se encuentra un elemento en la "lista"), la fórmula devuelve FALSO y la validación falla.
Nota: Las referencias de celda en las fórmulas de validación de datos son relativas a la celda superior izquierda en el rango seleccionado cuando se define la regla de validación, en este caso B5.
En el ejemplo que se muestra, la validación de datos aplicada a B5: B11 es:
=SUMAPRODUCTO(--ESNUMERO(HALLAR(list,B5)))=0
Cómo funciona esta fórmula
Las reglas de validación de datos se activan cuando un usuario agrega o cambia un valor de celda.Esta fórmula utiliza la función HALLAR para probar la entrada del usuario para cada valor en la "lista" de rango con nombre. La lógica de búsqueda es "contiene": cuando se encuentra un valor de "lista", HALLAR devuelve la posición del valor como un número. Si no se encuentra, HALLAR devuelve un error.
La función ESNUMERO convierte los números a VERDADERO y los errores a FALSO, y el operador doble negativo cambia los valores de VERDADERO FALSO a 1s y ceros. Como la "lista" de rango con nombre contiene 5 valores, obtenemos 5 resultados en una matriz como esta:
{0; 0; 0; 0; 0}
SUMAPRODUCTO resume los elementos de la matriz y el resultado se prueba contra cero. Siempre que todos los elementos sean cero, SUMAPRODUCTO devuelve cero y la validación se realiza correctamente. Si SUMAPRODUCTO devuelve otro número (es decir, cuando se encuentra un elemento en la "lista"), la fórmula devuelve FALSO y la validación falla.
Nota: Las referencias de celda en las fórmulas de validación de datos son relativas a la celda superior izquierda en el rango seleccionado cuando se define la regla de validación, en este caso B5.
0 comentarios:
Publicar un comentario