Cálculo de fecha de finalización de curso

martes, junio 13, 2017

Supongamos que programamos un curso de programación dividido en 10 encuentros/clases. Las clases se dictarán todos los lunes, miércoles y viernes. La pregunta es: ¿cuál es la fecha del último encuentro?

Podemos resolver este problema con facilidad usando la función DIA.LAB.INTL (Excel 2010 y versiones posteriores) pero tomando en cuenta un parámetro oscuramente explicado en la ayuda en línea de la función.


Empezamos por montar nuestro modelo


En las columnas D a H marcamos con el 0 (cero) los días en que se dictarán las clases y con 1 los días de la semana en los que no se dictarán las clases del curso. Ésto parece ir contra la intuición ya que, siendo usuarios consuetudinarios de Excel, asociamos el 0 con el valor FALSO y el 1 con el valor VERDADERO. Pero, como veremos más adelante, la función DIA.LAB.INTL requiere que usemos estos valores.
Como podemos ver, el curso de Programación comprende 10 encuentros (columna C) y se dicta los días Martes y Jueves.

Ahora agregaremos la columna con el cálculo de la fecha de cierre del curso


La fórmula en la celda J3 es =DIA.LAB.INTL(I3,C3-1,CONCAT(D3:H3)&"11")

Antes de seguir adelante aclaremos que la función CONCAT está disponible solamente para los usuarios de Excel 2016 (en Office 365). Usuarios de versiones aneriores deberán usar la función CONCATENAR.

Expliquemos la fórmula



El primer argumento es la fecha inicial; el segundo es el número de días que en nuestro caso es el número de encuentros. El tercer argumento es un valor textual compuesto de 1 y 0 que indican cuales son los días laborales de la semana y cuales no. Este valor textual debe tener siempre siete símbolos (uno por cada día siguiendo el orden de los días de la semana). 
El "truco" en esta fórmula es definir sólo los días en que se dicta el curso como días laborales. 

Opcionalmente podemos agregar una lista de feriados, el cuarto argumento, en caso de ser necesario.

También podemos cambiar el formato de las fechas para que muestren el día de la semana 


Otra mejora posible es usae Formato Numérico Personalizado para mostrar "si" en lugar de 0 y "no" en lugar de 1



con esta definición



o mejor aún con Formato Condicional


definido de esta manera


4 comments:

Unknown 14 junio, 2017 18:21  

Se podría invertir 1 y 0 en la tabla y poner como fórmula (matricial) 1-D3:H3 ?

Jorge Dunkelman 15 junio, 2017 06:59  

No como lo estás planteando. La función usa un texto (cadena de texto) compuesto de 1 y 0. La expresión no te crearía el texto requerido. Pero, como siempre, la mejor forma de aclararlo es probando :)

Anónimo,  18 junio, 2017 23:14  

Buenas tardes (desde España);
¿Podrias explicar lo de formato personalizado y "si";;"no"?. es que no lo "pillo"

Gracias y un saludo

Jorge Dunkelman 19 junio, 2017 18:27  

Fijate en estos dos viejos posts

http://jldexcelsp.blogspot.co.il/2006/05/formato-personalizado-de-nmeros-en-ms.html

http://jldexcelsp.blogspot.co.il/2006/05/formato-personalizado-de-nmeros-en.html

Tal vez publique un post actualizado (ya han pasado 11 años desde que publique los anteriores!!)

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP