El regalo de BetaWeblog para estas fiestas

Ya hubo un año en que BETAweblog regaló un calendario, pero esta vez el regalo es el calendario personalizable más la explicación de cómo hacerlo 🙂

  • Y debido a que al abrir el archivo anterior, Excel elimina las fórmulas, también les dejo acá el archivo xls, aunque les recomiendo que usen OpenOffice.org en lugar de usar Excel: calendario.xls

El calendario se ve de esta manera:

Calendario

En la primera celda se escribe el mes, y debajo el año. Sólo con eso, ya se visualiza el calendario al que puede modificarse el formato, el tamaño de letra, agregar un dibujo, una foto, etc.

Para el que tiene ganas de imprimir un calendario en otro formato, aquí hay varias plantillas para Calc.

¿Y cómo lo hice?

Creé una hoja de cálculos usando Calc, de OpenOffice.org. Se puede descargar e instalar desde este sitio: OpenOffice.org/es

  • Cada vez que tengo que saber cuál es el primer día del mes del calendario uso la función FECHA(año;mes;día). Como tengo el año escrito en a2 y el mes en a1, escribo: FECHA(A2;A1;1)
  • Para saber qué día de la semana empieza o termina un mes, uso DIASEM(fecha), que me devuelve un 1 para domingo, 2 para lunes, 3 para martes, etc. Para saber el primer día del mes del calendario me queda esto: DIASEM(FECHA(A2;A1;1)
  • Para conocer la cantidad de días del mes usé la función DÍASENMES(fecha).  Es decir: DÍASENMES(FECHA(A2;A1;1))
  • Para que en una celda se escriba una cosa u otra uso la condición SI(condición;”sí”;”no”). Por ejemplo, si quisiera escribir “Lunes” si un día es lunes, y un espacio si no es lunes, usaría: SI(DIASEM(FECHA(A2;A1;1)=2;”Lunes”;” “).

Para la primera fila del calendario necesité usar algunas condiciones:

En la celda del lunes: “Si el día de la semana del primer día del mes es 2, entonces poner aquí un 1. Si no, escribir un espacio”.

=SI(DIASEM(FECHA(A2;A1;1))=2;1;” “)

En la celda del martes: “Si el día de la semana del primer día del mes es 3, entonces poner aquí un 1. Si no, hay dos posibilidades: si en la celda del día anterior -lunes- no hay un espacio, aquí escribir un número más que el que está al lado. Si no, escribir un espacio.”

=SI(DIASEM(FECHA(A2;A1;1))=3;1;SI(C4<>” “;C4+1;” “))

En las últimas filas es necesario evaluar cuántos días tiene el mes y si corresponde o no escribir algo en cada celda: “Si el casillero anterior no tiene un espacio, hay dos posibilidades: si al sumarle uno al casillero anterior obtengo un número mayor al número de días que tiene este mes, entonces escribir un espacio. Si no, sumarle uno al casillero anterior.”

=SI(C8<>” “;SI(C8+1>DÍASENMES(FECHA($A$2;$A$1;1));” “;C8+1);” “)

En Excel no existía la función días en mes, así que tuve que complicar un poco más la función usando FIN.MES, que devuelve el número de serie del último día del mes:

=SI(E8<>” “;SI(E8+1>DIA(FIN.MES(FECHA($A$2;$A$1;1);0));” “;E8+1);” “)

¡Felices fiestas!

2 opiniones en “El regalo de BetaWeblog para estas fiestas”

  1. ¡Gracias, Ricardo! Me encanta hacer funciones bien complicadas en Calc 🙂
    Y sí, como vos decís, la gente debería dejar de usar “eme-ese-Office”. Por suerte, cada vez lo complican más y muchas personas se pasan a OpenOffice simplemente porque están cansados de tanto cambio en el que se compra…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *