
Estoy tratando de tener ciertas fechas fuera de la semana desde el día 1 hasta el último día del mes cuando escribo un mes en una celda, por ejemplo:
Si la celda "I6" contiene "marzo" o cualquier mes:
" MARCH "
entonces:
- celda "F10" = 1-Mar para-Sol(primer domingo del mes)
- Celda "F11" = 5 de marzo para -jueves (primer jueves del mes)
- Celda "F12" = 8 de marzo para -Sol(segundo domingo del mes y así sucesivamente)
- Celda "F13" = 12 de marzo para jueves
es posible? He buscado en diferentes sitios pero no tuve suerte, muchas gracias.
Respuesta1
Puedes usar esto también:
Cómo funciona:
- En Celda
K23
, ingrese la primera fecha del mes (como he usado02/01/2020
, el formato esMM/DD/YYYY
). - Aplicar
MMM YY
a la celda. - Fórmula en la celda
K25
:
=K$23+MOD(7-WEEKDAY(K$23,2),7)
- A continuación, fórmula en la celda
K26
:
=K$23+MOD(4-WEEKDAY(K$23,2),7)
NÓTESE BIEN:En la fórmula anterior, 7
& 4
representa el domingo y el jueves, y puede editarlos según sus necesidades.
Fórmula final en Cell
K27
y complétela:=IFERROR(IF(AND(MONTH(K26)=MONTH(K$23),COUNT(J$25:J25)=7),"",K25+7),"")
Ahora ingrese esta fórmula en Celda
J25
y complétela.
=IF(ISBLANK(K25),"",K25)
Editado:
OP ha planteado un buen punto sobre cómo gestionar las fechas siempre y cuandoSdomingo ytel jueves son más de 8 (Como en mayo, agosto los domingos son 5 y los jueves son 4.).
Ingrese esta fórmula en la celda
L25
:=SUMPRODUCT(N(TEXT(ROW(INDIRECT(K25&":"&EOMONTH(K25,0))),"ddd")="Sun"))+SUMPRODUCT(N(TEXT(ROW(INDIRECT(K25&":"&EOMONTH(K25,0))),"ddd")="Thu"))
NÓTESE BIEN Esto cuenta los domingos y jueves, donde Sun
y Thu
son editables.
- Fórmula en
K27
:
=K$25+MOD(7-WEEKDAY(K$25,2),7)
- Fórmula en la celda
k28
:
=K$25+MOD(4-WEEKDAY(K$25,2),7)
Ingrese la fórmula en la celda
K29
:=IFERROR(IF(AND(MONTH(K28)=MONTH(K$25),COUNT(J$27:J27)>=(L$25-1)),"",K27+7),"")
NÓTESE BIEN
- El uso de la verificación de MES y el RECUENTO DE FILAS con la fórmula en la celda
K27
&K29
restringe Excel para producir solo FECHAS para todos los domingos y jueves. - Ahora siga cambiando Fecha y Año en la celda
K23
oK25
según sea necesario. - Ajuste las referencias de celda en la fórmula según sea necesario.
Respuesta2
Entonces puedes dividir este problema en dos partes:
Formato condicional
Quieres:
cell "F10" = 1-Mar for- Sun (first Sunday of the month)
basado en A6
contenerMARCH
Por lo tanto en la celda F10 puedes colocar
=IFERROR(IF(FIND("MARCH",A6)<>0,"contains March","Does not contain march","")
=Find("MARCH",A6)
generará un error si no puede encontrar "MARZO", razón por la cual usamos el archivo =IFERROR()
. Si no hay ningún error, significa que se encontró correctamente y luego aplique la lógica que desee.
Primer domingo del mes
Para encontrar el primer domingo de un mes puedes utilizar esta fórmula:
'=(A4+ELEGIR(DÍA DE LA SEMANA(A4,1),7,6,5,4,3,2,1))'
donde A4 en mi caso es la fecha a la que hace referencia, luego encontrará hacia adelante, el próximo domingo. Si conecta este método al primero, debería poder encontrar lo que desea.
En cuanto a las celdas A11, A12, A13, puede seguir exactamente el mismo método.
Respuesta3
Intentar:
F10: =DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-1)
F11: =DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-5)
F12: =F10+7
Seleccione F12
y complete tanto como sea necesario
G10: =F10
Formato personalizado G10
:"dddd"
Seleccione G10
y complete tanto como sea necesario
NOTA:En algunos meses, el primer jueves ocurrirá antes del primer domingo. Si prefiere comenzar con el primer jueves o el primer sol, y luego continuar la secuencia, utilice estas fórmulas:
F10:=MIN(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-1),
DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-5))
F11: =MAX(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-1),
DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-5))