Calcular el número de domingos en el mes


8

En Microsoft Excel, estoy buscando determinar la cantidad de domingos en un mes determinado. Estoy preparando una hoja de cálculo de presupuesto y algunas de las subcuentas obtienen fondos adicionales cuando cinco domingos son en el mes en lugar de cuatro.

La única celda a la que tengo que hacer referencia es el título de la hoja que se encuentra en la celda A1 y es igual al mes actual. Por ejemplo6/1/14

Respuestas:


12

Pruebe esto donde A1es el día de inicio del mes:

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))),"ddd")="Sun"))

También puede usar esto para cualquier día de la semana, simplemente cambie "Sun"y cualquier rango de fechas reemplazando A1con la fecha de inicio y la EOMONTH(A1,0)fecha de finalización.


1
Guau. Esto es realmente creativo. Déjame entender. ¿Creamos los valores de fecha para todo el mes con las funciones indirectas y de fila? Luego los convertimos a texto en forma de Sol, Lunes, etc. Evaluamos la condición del Sol y cambiamos el resultado a uno o cero y luego sumamos el resultado. ¿Es eso correcto?
— wbeard52

sí exactamente .. :)
— Jay-ar

9

Si la fecha que menciona es siempre la primera del mes, esta también funcionará:

=INT((WEEKDAY(A1-1)+EOMONTH(A1,0)-A1)/7)

Simple. Muy elegante en comparación con mi fórmula anterior. Gracias.
— wbeard52

3

Muy similar a una respuesta anterior, pero un poco más limpia ...

=SUMPRODUCT(N(WEEKDAY(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))))=1))

3
=DAY(EOMONTH(A1,0))-NETWORKDAYS.INTL(A1,EOMONTH(A1,0),11)

EDITAR: Esto funciona en Excel 2016, no estoy seguro de cuándo se introdujo NETWORKDAYS.INTL.


Qué es Networkdays.Intl no funciona con todos los Excel
— yass

Ah, tienes razon. No vi que se refería a Excel 2010. Tengo 2016. A diferencia de networkdays, Networkdays.intl le permite elegir los fines de semana. En este caso, le dije a Excel que el fin de semana es solo domingo, eso es lo que significa el 11. Entonces le da la cantidad de días en un período sin contar los domingos.
— SRCP

NETWORKDAYS.INTLestá disponible desde Excel 2010 . Puedes ver el número 2010 al lado de su nombre. vea la captura de pantalla en Excel 2010
— phuclv

1

Creo que he encontrado otra forma de desollar a este gato (por así decirlo).

Si desea evitar ingresar fechas y tener una hoja grande para la proyección (18 meses, por ejemplo), entonces podría simplemente decirle a la fórmula cuáles son su mes y año, y tener el formato correspondiente. Esto se unió con una referencia absoluta a las celdas de un encabezado que contiene el día de la semana en cuestión y tiene una tabla mucho más compacta y limpia (en mi opinión).

A3 = Ene, B3 = 2017, C2: I2 = 3 abreviatura del día de char (es decir, SUN)

Ingrese la fórmula en la celda C3

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(DATEVALUE(TEXT(CONCAT($A3,"/",$B3),"mm/dd/yyyy"))&":"&EOMONTH(DATEVALUE(TEXT(CONCAT($A3,"/",$B3),"mm/dd/yyyy")),0))),"ddd")=C$2))

Feliz cacería


1

Una ligera variación de la respuesta aceptada , donde no necesita el primer día del mes A1.

Esto se logra reemplazando A1con:

date(year(today()),month(today()),1)

Esto supone que lo desea para el mes actual.

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(date(year(today()),month(today()),1)&":"&EOMONTH(date(year(today()),month(today()),1),0))),"ddd")="Sun"))
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.