3 votos

LibreOffice Calc/Writer: ¿Cómo obtener las fechas de determinados días de la semana por mes?

Me encuentro con un problema en LibreOffice Calc o Writer:

Intento conseguir una tabla de fechas para cada lunes, miércoles y viernes del mes, algo que pueda cargar cada nuevo mes y que establezca las fechas automáticamente para que sólo tenga que imprimir la página en papel :)

En Writer, el comando de campo para la fecha no puede obviamente hacer el trabajo (sólo se puede establecer una fecha fija, la fecha de hoy o +offset por lo que puedo ver).

En Calc lo probé con el autocompletado pero eso, obviamente, sólo funciona durante los 3 primeros días.

Debo añadir que me pierdo con las fórmulas de Excel/Calc...

¿Alguna ayuda?

1voto

Paul Puntos 34859

Si la célula C1 contiene una fecha, entonces esta fórmula le dará la fecha del primer lunes del mes:

=MOD(DAY(C1)-WEEKDAY(C1,2)+1,7)

Así, por ejemplo, si la fecha en C1 es 19th December 2012 entonces la fórmula producirá 3 porque el día 3 es el primer lunes de diciembre de 2012.

Para crear la fecha completa del primer lunes, puede utilizar

=DATE(YEAR(C1),MONTH(C1),MOD(DAY(C1)-WEEKDAY(C1,2)+1,7))

Esto dará lugar a 05/12/2012 (dependiendo de su formato de fecha) - el primer lunes

Digamos que esto está en la celda A4 . Para rellenar el resto de los días, hay que añadir +2 para el miércoles, luego +2 para el viernes y luego +3 para el lunes siguiente. Lo más fácil es hacerlo manualmente:

A5 sería =A4+2 A6 sería =A5+2 A7 sería =A6+3

A continuación, puede repetirlo en la hoja de cálculo durante el resto del mes.

0 votos

¡Ah, gracias! Eso me parece muy bien, así puedo cambiar sólo la fecha de la hoja para que cambie todo el mes. ¡¡¡Genial!!! He jugado con "=DATE(YEAR(TODAY());12;3)" y he añadido en las siguientes celdas para los tres días un +7, también ha funcionado pero tu forma es mucho más convincente, ¡gracias! :)

0 votos

Hm, después de hacer una nueva hoja me sale un error 501 ahora. Acabo de traducirlo al alemán: =DATUM(JAHR(C1),MONAT(C1),mod(TAG(C1)-WOCHENTAG(C1,2)+1,7)) pero Calc cambia el cell-ID del día de la semana a C10... ¿por qué?: "=DATUM(JAHR(C1),MONAT(C1),mod(TAG(C1)-WOCHENTAG(C10,2)+1,7))"

0voto

cobaltB12 Puntos 1

La respuesta de Paul más arriba me acercó, pero falla cuando el lunes es el último día del mes anterior (MOD devuelve 0).

Por ejemplo, septiembre de 2015; su fórmula devuelve 0, lo que significa 31/agosto/2015 como primer lunes del mes.

Estoy usando 1 como parámetro para el día de la semana, y luego añadiendo 1, y devuelve el día correcto para todos los meses de 2015 (todas las posibles combinaciones de fin de mes).

=MOD(DAY(C1)-WEEKDAY(C1,1)+1,7)+1

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X