Cálculo del último día de una semana (Microsoft Excel)
Probablemente sepa que puede usar la función WEEKNUM para devolver el número de semana en un año para una fecha determinada. ¿Qué sucede si desea hacer lo contrario: determinar el último día de una semana en particular si todo lo que tiene es el número de semana dentro del año? Por ejemplo, si especificara la semana 37, le gustaría calcular la fecha del último día de esa semana en particular.
No hay una función incorporada para determinar la fecha deseada, pero hay varias formas de abordar el problema y resolverlo. En estos ejemplos asumiremos que el año está en la celda A1 y el número de semana deseado está en la celda B1.
El primer método es calcular el primer día del año deseado, sumar siete días para cada una de las semanas y luego restar el número de día de la semana para el primer día del año.
=DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1))
Esta fórmula devuelve una fecha que siempre representa el último día de la semana, si la semana termina un sábado. Si desea que la semana termine en un día diferente de la semana, la fórmula se vuelve más compleja. Si desea que la semana termine en domingo, simplemente debe agregar 1 a la fórmula:
=DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1))+1
Aplicando esta misma lógica, podría pensar que podría calcular las semanas que terminan el viernes simplemente restando 1 de la fórmula. Este no es el caso, ya que está utilizando el comienzo del año como base.
Si resta 1, se encuentra con el problema de que el 1 de enero de cualquier año es sábado; si resta 1, no termina con el primer viernes del año, sino que termina con el 31 de diciembre del año anterior. Para calcular las semanas que terminan el viernes, necesita una fórmula mucho más compleja:
=DATE(A1,1,6-WEEKDAY(DATE(A1,1,1)) ((6-WEEKDAY(DATE(A1,1,1))<0)7)+1)+((B1-1)7)
Dado que algunos años tienen 52 semanas y otros 53, nuevamente dependiendo de si las semanas terminan en viernes, sábado o domingo, es una buena idea modificar las fórmulas para que verifiquen si la fecha que se devuelve es dentro del mismo año. que estás analizando. Si no marca esto, las fórmulas proporcionadas hasta el momento devolverán felizmente las fechas de la semana 73, la semana 89 o la semana 123 de cualquier año dado; simplemente ajustan la fecha al año futuro apropiado.
Aquí está la fórmula para las semanas que terminan en viernes:
=IF(YEAR(DATE(A1,1,6-WEEKDAY(DATE(A1,1,1)) ((6-WEEKDAY(DATE(A1,1,1))<0)7)+1)+((B1-1)7))=A1, DATE(A1,1,6-WEEKDAY(DATE(A1,1,1))+((6-WEEKDAY(DATE( A1,1,1))<0)7)+1)+((B1-1)7),"")
Si la fecha calculada no es del mismo año que la especificada en la celda A1, la fórmula no devuelve nada. Aquí está la fórmula para las semanas que terminan en sábado:
=IF(YEAR(DATE(A1,1,1)+B17-WEEKDAY(DATE(A1,1,1)))=A1, DATE(A1,1,1)+B17-WEEKDAY(DATE(A1,1,1)),"")
Finalmente, aquí está la fórmula para las semanas que terminan en domingo:
=IF(YEAR(DATE(A1,1,1)+B17-WEEKDAY(DATE(A1,1,1))+1)=A1, DATE(A1,1,1)+B17-WEEKDAY(DATE(A1,1,1))+1,"")
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (6750) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:
link: / excelribbon-Calculating_the_Last_Day_in_a_Week_Number [Calculando el último día en un número de semana]
.