Validacion de celdas personalizada

04/11/2003 - 19:37 por Rene Moreno | Informe spam
Hola grupo.
Tengo este problema al meter una validacion de celda con una formula
personalizada.
La celda debe aceptar solo numeros de días, desde el 1 hasta el numero
maximo de dias del mes.
Lo ideal seria validar enteros del 1 al 31 pero necesito que si el mes es
febrero solo permita hasta el 28 (ó 29 si es año bisiesto)
Uso esta formula pero no valida nada :((

=Y((Dia-TRUNCAR(Dia))>0,O(Dia<1,Dia>SI(Y(Mes=2,RESIDUO(Ejercicio,4)=0),29,IN
DICE(DiasMes,Mes))))

con (Dia-TRUNCAR(Dia))>0 valido que sea un numero entero
con SI(Y(Mes=2,RESIDUO(Ejercicio,4)=0),29,INDICE(DiasMes,Mes)) define el
maximo dia del mes seleccionado
con O(Dia<1,Dia>SI(Y(Mes=2,RESIDUO(Ejercicio,4)=0),29,INDICE(DiasMes,Mes)))
valido qu este entre 1 y el maximo dia del mes

Como dije, la validacion no funciona, pero si la pngo en una celda si hace
lo que quiero.

Gracias de antemano por la ayuda que puedan darme

Rene Moreno
____________________________________________________
Para responder elimine el texto NOSPAM de la dirección de envío
 

Leer las respuestas

#1 Héctor Miguel
05/11/2003 - 06:28 | Informe spam
Hola, Rene !

... problema ... validacion de celda ... formula personalizada.
... debe aceptar solo numeros de días ... hasta el ... maximo de dias del mes.
... ideal seria validar enteros del 1 al 31 pero ... si el mes es febrero solo ... hasta el 28 (o 29 si es año bisiesto)
... esta formula ... no valida nada :((
=Y((Dia-TRUNCAR(Dia))>0,O(Dia<1,Dia>SI(Y(Mes=2,RESIDUO(Ejercicio,4)=0),29,INDICE(DiasMes,Mes))))
[...]



hasta donde 'se puede' [o alcanzo a] apreciar, estas usando [al menos] 4 rangos 'nombrados':
Dia = X_dia
Mes = X_mes
Ejercicio = 4 digitos
DiasMes = los dias de cada mes [febrero con 28] =>31,28,31,30,31,30,31,31,30,31,30,31<
para la celda que necesita ser validada [te propongo] dos opciones:

opcion 1:
Permitir -> Numero entero
Datos -> Entre
Mínimo -> 1
Máximo -> =Si(Y(Mes=2,Residuo(Ejercicio,4)=0),29,Indice(DiasMes,Mes))

opcion 2 [usando una lista desplegable para los dias -segun el mes-]:
a) nombrar una celda con la fecha 'base' [p.e. 'Fecha' = 1/2/03] =>'NO 'importa' el dia, sino 'poder validar' mes y año<b) 'llenar' los dias 'corridos' que sean 'fijos' -del 1 al 28- [p.e. desde A1 ... A28]
c) para los dias 29 a 31 [segun el mes y año]
29 -> =Si(Mes(Fecha(Año(Fecha),Mes(Fecha),A28+1))=Mes(Fecha),A28+1,"")
30 -> =Si(Mes(Fecha(Año(Fecha),Mes(Fecha),A28+2))=Mes(Fecha),A28+2,"")
31 -> =Si(Mes(Fecha(Año(Fecha),Mes(Fecha),A28+3))=Mes(Fecha),A28+3,"")
==> 'observa' que SIEMPRE se hace 'referencia' al dia 28 <== [+1 -o- +2 -o- +3]
d) nombrar el rango [dinamico] de los dias [p.e. 'Dias'] con la funcion =DesRef(Hoja1!$A$1,,,Contar(Hoja1!$A:$A))
[para el 'buen uso' de la funcion Contar, puede haber textos, mas NO numeros en la columna de 'la cuenta' de los dias]
e) aplicar reglas de validacion [en la celda] de la siguiente forma:
Permitir -> Lista
Origen -> =Dias

en ambos casos puedes 'personalizar' los mensajes 'de entrada' y 'de error' [con el estilo 'limite'] si lo crees 'conveniente'.

Saludos,
Héctor.

Preguntas similares