Un lector me consulta
como aplicar validación de datos con más de un criterio. Por ejemplo, que en un
rango determinado se pueda ingresar valores entre 1 y 10 y que no haya
duplicados.
Antes de mostrar la
solución, es importante señalar el punto central que el mecanismo de Validación
de Datos funciona con fórmulas que dan como resultado VERDADERO o FALSO. Para
que el valor a introducir sea aceptado, la fórmula de la validación debe
evaluar a VERDADERO.
En nuestro ejemplo
queremos que las dos condiciones se cumplan simultáneamente. Para eso debemos
usar la función Y. Si queremos aplicar la validación de datos múltiple en el
rango B3:B10 usaremos la fórmula
=Y(CONTAR.SI($B$3:$B$10,B3)<2,Y(B3>=1,B3<=10))
Esta fórmula funciona
de la siguiente manera:
CONTAR.SI($B$3:$B$10,B3)<2
evalúa si el valor a introducir aparecerá más de una vez. Si el valor ya
aparece en el rango, el resultado de esta fórmula es FALSO.
Y(B3>=1,B3<=10)) verifica
que el valor a introducir sea mayor o igual a 1 y menor o igual a 10.
Finalmente, la función
Y al principio de la fórmula combina ambos resultados dando VERDADERO solamente
si ambas condiciones se cumplen.
Si queremos evitar
valores duplicados y los valores permitidos van de 1 a 10 y de 20 a 25, es
decir, dos intervalos de números, ampliamos nuestra fórmula con la función O
=Y(CONTAR.SI($B$3:$B$10,B5)<2,O(Y(B5>=1,B5<=10),Y(B5>=20,B5<=25)))
La función O da
VERDADERO si alguna de las funciones Y que son sus argumentos da VERDADERO.
Hola Jorge, he despejado mis dudas en cuanto a la validación de datos, por lo cual agradezco tu colaboración. Podría enviarte un archivo para que lo analices y me pudieras ayudar en lo siguiente:
ResponderBorrarQuiero utilizar un userform con Vba para evitar la duplicidad de los datos y ahora no consigo que en ese userform me detenga al intentar vaciar un numero que no corresponde.
te repito que lo he logrado con la validación y deseo hacerlo con un userform utilizando if then else.
Espero no incomodar,
Saludos.
Publicaré una nota sobre el tema
ResponderBorrar