• 👏 Bienvenido a nuestra comunidad Excel

    ¿Todavía no estás registrado? 😲

    Registrate gratis aquí y podrás:

    💪 Hacer preguntas a los expertos
    ⬇️ Descargar ejemplos y plantillas
    🏅 
    Acceder a contenidos premium

Validar lista con condición

JordiVS

Member
Hola a todos. Gracias de antemano por vuestra ayuda que seguo que me aportará un rayo de luz.

Tengo un Excel en que diariamente se entran registros en una tabla con las horas dedicadas a cada proyecto. (Tabla1)

En el rango G1:M11 se calcula la duración de los proyectos, buscando la fecha de inicio y final de cada uno y las horas invertidas en ellos según los registros que de la tabla.

Se me plantean dos problemas que no logro resolver:

1) En la columna A de la tabla quiero validar que el código del proyecto sea correcto mediante una lista desplegable donde seleccionarlo i que ADEMÁS se trate de un proyecto en curso (no acabado).
Tengo puesta una fórmula en la validación tal que controla que se trate de un proyecto en curso, buscando en el rango G2:L11 que el código del proyecto tenga en blanco la fecha de finalización, pero y aquí viene la cuestión ¿como hacer para que además se abra una lista desplegable de los proyectos para seleccionar uno de ellos? Cómo incluir en una fórmula personalizada que se despliegue una lista de validación? Le estaré pidiendo peras al olmo?

2) En la columna B de la tabla se van entrando las fechas y horas dedicadas a cada proyecto. Las fechas pueden estar repetidas, ya que en un mismo dia se puede trabajar en distintos proyectos, pero deben estar ordenadas (para que funcione correctamente la búsqueda de fecha inicio en la columna K)

Para ello en la entrada de la fecha he colocado una validación de tal forma que valide que se trata de una fecha igual o superior a la fecha del registro inmediato anterior. El problema està en el primer registro, ya que en la fila inmediata anterior no hay una fecha sino el nombre del campo de la tabla. Si omito la validación en la entrada B2 entonces la validación no se extiende al añadir registros en la tabla. No es un problema muy grave, pero obliga a entrar primero la fecha del primer registro y entrar posteriormente la validación a toda la columna, con lo que no se puede dejar la hoja preparada desde un buen inicio. ¿Alguna idea de cómo resolverlo?

Os adjunto el fichero.

Muchas gracias

Jordi
 

Adjuntos

JordiVS

Member
Muchas gracias Héctor

Me vale la solución que propones para validar que la lista de validación se refiera sólo a los proyectos en curso. Muchas gracias por la idea.

Una curiosidad (para aprender un poco más). Cómo haces para que la celda N1 te devuelda el número de filas más el texto "proj Disp" cuando en la fórmula no aparece este texto, sólo el cálculo de las filas?

1589641377492.png

E igualmente, y derivado de lo anterior, cómo haces para que al dar nombre al rango N1 tome N1 solo el valor 9 sin tener en cuenta el texto adicional?

1589641532963.png

En cuanto a la validación de la fecha he cambiado el criterio, ya que en realidad he visto que lo que tengo que validar es que la fecha no sea anterior a la última fecha entrada DEL PROYECTO que se registra. Lo he resuelto calculando en una celda adicional la última fecha del proyecto que se pretende registrar y comparando que la fecha no sea anterior.

Muchas gracias por todo

Saludos
 

Adjuntos

Héctor Miguel

Well-known member
Cómo haces para que la celda N1 te devuelda el número de filas más el texto "proj Disp" cuando en la fórmula no aparece este texto, sólo el cálculo de las filas?
es un formato numérico personalizado
cómo haces para que al dar nombre al rango N1 tome N1 solo el valor 9 sin tener en cuenta el texto adicional?
[N1] solo devuelve un valor numérico (el "texto" que muestra es efecto del formato numérico personalizado del punto anterior)
 

JordiVS

Member
Genial. He usado en ocasiones el formato numérico personalizado, pero ni idea que podia combinarse con texto.
Gracias por todo. Feliz confinamiento

Jordi
 

JordiVS

Member
Hola Hector

Seguramente recuerdas la solución que me brindaste con el excel adjunto.

Ahora se me presenta un nuevo problema que no consigo resolver. A ver si tu o algun otro forero me echa una mano, con mi agradecimiento anticipado.

La idea básica es cómo modificar las fórmulas para que actuen sobre una determinada hoja seleccionada. Todas la hojas tienen la misma estructura.
Al mismo tiempo ver si seria posible eliminar de la lista no sólo los códigos de tareas ya terminadas sino también aquellos casos en que hay líneas cuyo código está en blanco.

En el fichero adjunto está la descripción detallada.

Gracias.
 

Adjuntos

Héctor Miguel

Well-known member
modificar las fórmulas para que actuen sobre una determinada hoja seleccionada... eliminar de la lista no sólo los códigos de tareas ya terminadas sino también aquellos casos en que hay líneas cuyo código está en blanco
te queda algún detalle por resolver (a menos que te hayas guardado otros detalles "en el tintero" ???)...

si YA tenías datos capturados en la "Tabla1" Y CAMBIAS de proyecto en la celda [P2]
=> NO se actualizan los datos (Codi ni fechas ni ...) capturados en la "Tabla1"
 

Adjuntos

JordiVS

Member
Muchas gracias Hector. Tu solución es justo lo que necesitaba.

Los datos de la Tabla 1 NO deben actualizarse. El objetivo es ir añadiendo registros en la tabla pra ir alimentando los datos de cada proyecto con las fechas de inicio y final. Ahora funciona a la perfección.

Yo habia intentado modidifcar la fórmula de la columna O con la función INDIRECTO pero no lograba hacerla funcionar.
Veo que formas una estructura como esta INDIRECTO("'"&P$2&"'!g1:g11") cuando yo hacia lo mismo sin las comillas iniciales, es decir yo ponia
INDIRECTO(P2&"!"G1:G11)

Para aprender un poco más. Qué función tienen las comillas iniciales (obviamente funcion así, pero no alcanzo a ver la lógica ni la habria intuido nunca sin tu ayuda).

Un saludo cordial. Te mando un "Me Gusta"

Jordi
 

Héctor Miguel

Well-known member
Qué función tienen las comillas iniciales
1) las comillas simples (apóstrofos) solo con necesarios si el nombre de la hoja contiene espacios, números u operadores
(pero si los dejas... no "estorban")

2) para la forma que estabas usando, el rango de referencia debe quedar delimitado por las comillas dobles, es decir, cambiar...
de esto:
Código:
INDIRECTO(P2&"!"G1:G11)
a esto:
Código:
INDIRECTO(P2&"!g1:g11")
 
Última edición:
Arriba