Estoy tratando de escribir una fórmula para encontrar el último miércoles de cada mes del año. También necesito el último viernes también. Estoy encontrando maneras de obtener el primer miércoles de un mes y traté de modificar sin éxito
Estoy tratando de escribir una fórmula para encontrar el último miércoles de cada mes del año. También necesito el último viernes también. Estoy encontrando maneras de obtener el primer miércoles de un mes y traté de modificar sin éxito
Respuestas:
Si el mes está en B1 y el año en B2, inténtalo para el último miércoles: =DATE(B2;B1+1;1)-1-MOD(WEEKDAY(DATE(B2;B1+1;1)-1)+3;7)
y para el último viernes: =DATE(B2;B1+1;1)-1-MOD(WEEKDAY(DATE(B2;B1+1;1)-1)+1;7)
El día de la semana te da el número del día de la semana. MOD
Si ingresa 7, obtendrá la cantidad de días que debe restarse del último día del mes. Para encontrar el último día del mes, utilicé DATE
para el primero del mes siguiente (agregue 1 al mes) y luego reste 1 día.
MOD
Función: puede utilizar esta fórmula para el último miércoles. =DATE(B2;B1+1;1)-WEEKDAY(DATE(B2;B1+1;1)-4)
- ver mi respuesta
WORKDAY.INTL
La fórmula es más concisa y mejor que la mía.
¿Cuál es tu aporte?
Si tiene alguna fecha en A2, esta fórmula encontrará el último miércoles de ese mes.
=EOMONTH(A2,0)+1-WEEKDAY(EOMONTH(A2,0)+1-4)
Formato de celda de resultado en formato de fecha requerida
cambie el 4 al final para otros días, 1 para el domingo hasta el 7 para el sábado
En Excel 2010 o posterior puedes usar WORKDAY.INTL
función para obtener el mismo resultado, por ejemplo,
=WORKDAY.INTL(EOMONTH(A2,0)+1,-1,"1101111")
Donde "1101111" representa el miércoles, cambie la posición del 0 para obtener otros días, por ejemplo. El lunes es "0111111", el martes es "1011111"
EOMONTH+1
Encuentra el primer día del mes siguiente, entonces WORKDAY.INTL
le da el primer miércoles antes de esa fecha, es decir, el último del mes
Puede adaptar estos dos para trabajar con diferentes entradas, por ejemplo. si usted tiene mes y año Luego encuentra el último miércoles de ese mes con:
=WORKDAY.INTL(DATE(year,month+1,1),-1,"1101111")