Mejoras para el calendario del 2012, dos tandas de vacaciones de empresa.
Nuestro amigo JB nos hace el siguiente comentario al modelo del planing anual por trabajador: “¿Se podría poner 2 rangos de vacaciones de empresa? por ejemplo yo tengo 2 rangos uno para semana santa y otro para navidad?, ¿es posible?”.
Ando estos días mal de tiempo, preparando la presentación de la Asociación 3e “Educación, esfuerzo y excelencia”, así que no me alargaré mucho, simplemente decirle que SI.
Es relativamente sencillo, hay dos tipos de fórmulas que tienen en cuenta las vacaciones de la empresa, y estas son: a) las que determinan que tipo de incidencia es (Hay 9 tipos de incidencias, ver en la hoja “Fechas Clave”!K8.) y b) las fórmulas utilizadas para calcular las horas trabajadas a lo largo del año.
Dichas fórmulas ocupan las columnas adyacentes a las de fechas y días de la semana de cada mes. Hay que señalar las columnas y mostrar para ver la de las incidencias, las columnas de horas esta visible.
Por otra parte, he dedicado las celdas “Fechas Clave”!E7:F7, para introducir la fecha inicial y final de la segunda tanda de vacaciones de la empresa.
La modificación.
Es introducir el operador logístico O a la condición que determina que si el día en cuestión pertenece a los rangos de vacaciones de la empresa. Y anidar en ese operador contenedor de dos condiciones del tipo Y >= fecha inicial y <= que la fecha final.
Discriminador inicial:
Y(D10>=vac_ini_1; D10<=vac_fin_1)
Los sustituiremos por:
O(Y(D10>=vac_ini_1; D10<=vac_fin_1);Y(D10>=vac_ini_2; D10<=vac_fin_2))
Las fórmulas.
Por ejemplo en las celda “Plan Año”!F10 para determinar el formato condicional:
=SI(ESNUMERO(D10);
SI(ESERROR(CONSULTAV(D10;tab_jor_reducida;2;FALSO))=VERDADERO;
SI(ESERROR(COINCIDIR(D10;festivos;0));
SI(DIASEM(D10;2)=7; 2;
SI(DIASEM(D10;2)=6;
SI($N$2;3;0);
SI( O(Y(D10>=vac_ini_1; D10<=vac_fin_1);Y(D10>=vac_ini_2; D10<=vac_fin_2)); 5; SI(ESERROR(COINCIDIR(MAYUSC($T$2)&D10; MAYUSC(lan_izena)&lan_egun; 0)); SI(Y(D10>=hv_fini;D10<=hv_ffin)
; 7; 8 ); 6)))); 4);9);1)
SI(ESERROR(CONSULTAV(D10;tab_jor_reducida;2;FALSO))=VERDADERO;
SI(ESERROR(COINCIDIR(D10;festivos;0));
SI(DIASEM(D10;2)=7; 2;
SI(DIASEM(D10;2)=6;
SI($N$2;3;0);
SI( O(Y(D10>=vac_ini_1; D10<=vac_fin_1);Y(D10>=vac_ini_2; D10<=vac_fin_2)); 5; SI(ESERROR(COINCIDIR(MAYUSC($T$2)&D10; MAYUSC(lan_izena)&lan_egun; 0)); SI(Y(D10>=hv_fini;D10<=hv_ffin)
; 7; 8 ); 6)))); 4);9);1)
Y en la celda Plan Año”!G10, para determinar las horas trabajadas:
=SI(D10="";0;SI(F10=6;0;
SI(F10=9;CONSULTAV(D10;tab_jor_reducida;2;FALSO);
SI(ESERROR(COINCIDIR(D10;festivos;0));
SI( O( Y(D10>=vac_ini_1; D10<=vac_fin_1);Y(D10>=vac_ini_2; D10<=vac_fin_2)); 0; SI(ESERROR(COINCIDIR(MAYUSC($T$2)&D10; MAYUSC(lan_izena)&lan_egun; 0)); SI(Y(D10>=hv_fini;D10<=hv_ffin); INDICE('Fechas clave'!$J$6:$P$6;1;DIASEM(D10;2)); INDICE('Fechas clave'!$J$2:$P$2;1;DIASEM(D10;2)) ); 0)); 0))))
SI(F10=9;CONSULTAV(D10;tab_jor_reducida;2;FALSO);
SI(ESERROR(COINCIDIR(D10;festivos;0));
SI( O( Y(D10>=vac_ini_1; D10<=vac_fin_1);Y(D10>=vac_ini_2; D10<=vac_fin_2)); 0; SI(ESERROR(COINCIDIR(MAYUSC($T$2)&D10; MAYUSC(lan_izena)&lan_egun; 0)); SI(Y(D10>=hv_fini;D10<=hv_ffin); INDICE('Fechas clave'!$J$6:$P$6;1;DIASEM(D10;2)); INDICE('Fechas clave'!$J$2:$P$2;1;DIASEM(D10;2)) ); 0)); 0))))
Como siempre puedes descargar el modelo en Flashforward-Financiero.
Y para de contar, para cosas de estas sirven las funciones Y(),O(), etc.
Saludos y gracias a JB por su comentario, asi mejoramos y progresamos todos.http://flashforward-financiero.es/index.php/fichero-excel/doc_details/25-calendario-2012-jornada-anual-por-trabajador-mejoras-en-la-version-11