Días de semana en un mes (Microsoft Excel)
¿Alguna vez se preguntó cuántos días de la semana en particular ocurren dentro de un mes determinado? Para algunas personas, es importante saber cuántos martes hay en un mes. ¿Y quién no quiere saber si un mes en particular tendrá cuatro o cinco sábados?
Excel no incluye una función intrínseca que pueda usar para determinar la cantidad de veces que ocurre un día de la semana en particular dentro de un mes determinado. Sin embargo, puede crear sus propias fórmulas y funciones para realizar la tarea.
Primero, considere la siguiente fórmula.
=4+N((WEEKDAY(DATE(YEAR($A$1),MONTH($A$1),1))) (DAY(DATE(YEAR($A$1),MONTH($A$1)+1,0))-28)>(7*(( WEEKDAY(DATE(YEAR($A$1),MONTH($A$1),1)))>(1+ROW()- ROW($A$2)))+(1+ROW()-ROW($A$2))))
La fórmula se basa en una fecha en A1. Esta fecha debe ser desde el mes en que desea «probar». La fórmula debe copiarse en una celda en la fila 2 y luego copiarse en las seis celdas directamente debajo de ella. Por ejemplo, puede copiar esta fórmula en el rango de celdas B2: B8. La primera respuesta (B2) es el número de domingos del mes, la segunda (B3) es el número de lunes, y así sucesivamente.
El inconveniente de esta fórmula es que utiliza la posición de la celda que contiene la fórmula como parte de la fórmula. Esto significa que la fórmula debe colocarse en algún lugar comenzando en la segunda fila.
Otro inconveniente es que la fórmula es bastante larga y compleja. Si desea una fórmula más corta, debe recurrir a una fórmula de matriz. Una fórmula útil que puede usar supone que proporciona tres argumentos: el año (celda C2), el mes (celda D2) y un día de la semana (celda E2). Con estos tres elementos, la siguiente fórmula funciona muy bien:
=SUM(IF(WEEKDAY(DATE(C2, D2, ROW(INDIRECT("1:" & DAY(DATE(C2, D2+1, 0))))))=E2, 1, 0))
Recuerde que esta es una fórmula de matriz, lo que significa que debe ingresarla presionando Shift + Ctrl + Enter. Además, el valor del día de la semana que ingrese en la celda E2 debe estar en el rango de 1 a 7, donde 1 es el domingo, 2 es el lunes, etc.
Otra gran fórmula que puedes usar es la siguiente:
=NETWORKDAYS.INTL(DATE(YEAR(A1),MONTH(A1),1),EOMONTH(A1,0), REPT("1",B1-1) & "0" & REPT("1",7-B1))
Esta fórmula generalizada solo necesita dos valores para funcionar correctamente. La primera es una fecha que se encuentra dentro del mes que desea analizar; esto entra en la celda A1. En la celda B1 debe colocar un indicador del día de la semana que desea contar. Este valor es diferente al de la fórmula anterior, aunque todavía debe estar en el rango de 1 a 7, 1 es el lunes, 2 es el martes, etc.
Si el diseño de su hoja de trabajo no le permite ingresar el año, mes y día de la semana en diferentes celdas, una solución limpia es crear una función definida por el usuario para devolver el recuento. La siguiente macro es un ejemplo de este tipo de función.
Function MonthWeekDays(dDate As Date, iWeekDay As Integer) Dim dLoop As Date If iWeekDay < 1 Or iWeekDay > 7 Then MonthWeekDays = CVErr(xlErrNum) Exit Function End If MonthWeekDays = 0 dLoop = DateSerial(Year(dDate), Month(dDate), 1) Do While Month(dLoop) = Month(dDate) If WeekDay(dLoop) = iWeekDay Then _ MonthWeekDays = MonthWeekDays + 1 dLoop = dLoop + 1 Loop End Function
Utiliza la función ingresando lo siguiente en una celda:
=MonthWeekDays(A1,4)
En este uso, el primer argumento (celda A1) contiene una fecha en el mes que se evalúa. El segundo argumento es un valor numérico que representa el día de la semana que desea contar. Este valor debe estar en el rango de 1 a 7, donde 1 es domingo, 2 es lunes y así sucesivamente.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (5684) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:
link: / excel-Weekdays_in_a_Month [Días de la semana en un mes]
.