Cómo mostrar el Número de semana Mensualmente para una fecha determinada
Al configurar fórmulas en Kintone, puede obtener el número de semana mensual, que reinicia desde 1 al comienzo de cada mes, para la fecha que ingrese.
Este artículo proporciona ejemplos de configuración con fórmulas.
Preparación
Abra la pestaña Formulario en la Ajustes app y coloque los siguientes seis campos en el formulario de la aplicación.
- (1) Campo "Fecha"
- (2) Campo "Calculado"
- (3) Campo "Calculado"
- (4) Campo "Texto"
- (5) Campo "Calculado"
- (6) Campo "Texto"
Ajustes de cada campo
Abra la pantalla de configuración de cada uno de los campos que ha colocado en el formulario de la aplicación y configure el nombre del campo, el código de campo y la fórmula.
Descripción general de los códigos de campo
Al configurar cada campo como se describe a continuación, el campo (6) muestra el número de semana mensual de la fecha ingresada en el campo (1).
Campos (2) a (5) se utilizan para cálculos intermedios.
(1) Campo "Fecha"
Este campo se utiliza para ingresar la fecha para la cual desea obtener el número de semana mensual.
- Nombre del campo: Fecha
- Código de campo: Fecha
No es necesario establecer una fórmula para este campo.
(2) Campo "Calculado"
Este campo muestra la parte del día de la fecha ingresada en el campo (1) (el número de días transcurridos desde el primer día del mes).
-
Nombre del campo: Fecha (parte del día)
-
Código de campo: Fecha_Día_parte
-
Fórmula: Establezca la siguiente fórmula.
DATE_FORMAT(Date, "d", "Asia/Tokyo")
(3) Campo "Calculado"
Este campo calcula el primer día del mes en formato de hora UNIX (valor numérico) en función de la fecha ingresada en el campo (1).
-
Nombre del campo: Primer día del mes
-
Código de campo: Primer_día_del_mes
-
Fórmula: Establezca la siguiente fórmula.
Date-((Date_Day_part-1)*60*60*24)
(4) Campo "Texto"
Este campo calcula el primer día de la semana del mes basándose en el primer día del mes calculado en el campo (3).
-
Nombre del campo: Primer día de la semana del mes
-
Código de campo: Primer_día_de_la_semana_del_mes
-
Fórmula: Seleccionar Calcular automáticamente y configure la siguiente fórmula.
IF( ( ( (First_day_of_the_month / 60 / 60 / 24) - 0) / 7 ) - ROUNDUP(( ( (First_day_of_the_month / 60 / 60 / 24) - 0) / 7 ) , 0) = 0 , "Thursday", IF( ( ( (First_day_of_the_month / 60 / 60 / 24) - 1) / 7 ) - ROUNDUP(( ( (First_day_of_the_month / 60 / 60 / 24) - 1) / 7 ) , 0) = 0 , Friday", IF( ( ( (First_day_of_the_month / 60 / 60 / 24) - 2) / 7 ) - ROUNDUP(( ( (First_day_of_the_month / 60 / 60 / 24) - 2) / 7 ) , 0) = 0 , "Saturday", IF( ( ( (First_day_of_the_month / 60 / 60 / 24) - 3) / 7 ) - ROUNDUP(( ( (First_day_of_the_month / 60 / 60 / 24) - 3) / 7 ) , 0) = 0 , "Sunday", IF( ( ( (First_day_of_the_month / 60 / 60 / 24) - 4) / 7 ) - ROUNDUP(( ( (First_day_of_the_month / 60 / 60 / 24) - 4) / 7 ) , 0) = 0 , "Monday", IF( ( ( (First_day_of_the_month / 60 / 60 / 24) - 5) / 7 ) - ROUNDUP(( ( (First_day_of_the_month / 60 / 60 / 24) - 5) / 7 ) , 0) = 0 , "Tuesday", IF( ( ( (First_day_of_the_month / 60 / 60 / 24) - 6) / 7 ) - ROUNDUP(( ( (First_day_of_the_month / 60 / 60 / 24) - 6) / 7 ) , 0) = 0 , "Wednesday","N/A" ) ) ) ) ) ) )
(5) Campo "Calculado"
Según el primer día de la semana del mes calculado en el campo (4), este campo calcula el número de semana mensual para la fecha que se muestra en el campo (2).
-
Nombre del campo: Número de semana Mensualmente
-
Código de campo: Monthly_week_number
-
Fórmula: Establezca la siguiente fórmula. A modo de ejemplo, esta fórmula supone que el inicio de una semana es Domingo.
IF(First_day_of_week_of_the_month="Sunday", IF(Date_Day_part<=7, 1, IF(ROUNDUP((Date_Day_part-7)/7)-ROUNDDOWN((Date_Day_part-7)/7)=0, ROUNDDOWN((Date_Day_part-7)/7)+1, ROUNDDOWN((Date_Day_part-7)/7)+2)), IF(First_day_of_week_of_the_month="Monday", IF(Date_Day_part<=6, 1, IF(ROUNDUP((Date_Day_part-6)/7)-ROUNDDOWN((Date_Day_part-6)/7)=0, ROUNDDOWN((Date_Day_part-6)/7)+1, ROUNDDOWN((Date_Day_part-6)/7)+2)), IF(First_day_of_week_of_the_month="Tuesday", IF(Date_Day_part<=5, 1, IF(ROUNDUP((Date_Day_part-5)/7)-ROUNDDOWN((Date_Day_part-5)/7)=0, ROUNDDOWN((Date_Day_part-5)/7)+1, ROUNDDOWN((Date_Day_part-5)/7)+2)), IF(First_day_of_week_of_the_month="Wednesday", IF(Date_Day_part<=4, 1, IF(ROUNDUP((Date_Day_part-4)/7)-ROUNDDOWN((Date_Day_part-4)/7)=0, ROUNDDOWN((Date_Day_part-4)/7)+1, ROUNDDOWN((Date_Day_part-4)/7)+2)), IF(First_day_of_week_of_the_month="Thursday", IF(Date_Day_part<=3, 1, IF(ROUNDUP((Date_Day_part-3)/7)-ROUNDDOWN((Date_Day_part-3)/7)=0, ROUNDDOWN((Date_Day_part-3)/7)+1, ROUNDDOWN((Date_Day_part-3)/7)+2)), IF(First_day_of_week_of_the_month="Friday", IF(Date_Day_part<=2, 1, IF(ROUNDUP((Date_Day_part-2)/7)-ROUNDDOWN((Date_Day_part-2)/7)=0, ROUNDDOWN((Date_Day_part-2)/7)+1, ROUNDDOWN((Date_Day_part-2)/7)+2)), IF(First_day_of_week_of_the_month="Saturday", IF(Date_Day_part<=1, 1, IF(ROUNDUP((Date_Day_part-1)/7)-ROUNDDOWN((Date_Day_part-1)/7)=0, ROUNDDOWN((Date_Day_part-1)/7)+1, ROUNDDOWN((Date_Day_part-1)/7)+2)), "N/A" ) ) ) ) ) ) )
Si desea utilizar Lunes como inicio de una semana, reemplace "Domingo" en la siguiente parte de la fórmula con "Lunes": First_day_of_week_of_the_month=" Domingo" De manera similar, reemplace cada uno de los días de la semana en esta fórmula con la que sigue.
Para obtener más detalles sobre esta fórmula, consulte Explicación de la fórmula para el campo (5).
(6) Campo "Texto"
Según el número de semana mensual calculado en el campo (5), este campo muestra el número de semana mensual para la fecha ingresada en el campo (1) en el siguiente formato: Semana N de MMMM AAAA
-
Nombre del campo: Número de semana Mensualmente (formato completo)
-
Código de campo: Monthly_week_number_full
-
Fórmula: Seleccionar Calcular automáticamente y configure la siguiente fórmula.
"Week "&Monthly_week_number&" of "&DATE_FORMAT(Date, "MMMM YYYY", "Asia/Tokyo")
Explicación de la fórmula del campo (5)
Según el primer día de la semana del mes calculado en el campo (4), el campo (5) calcula el número de semana mensual para la fecha utilizando la parte del día que se muestra en el campo (2).
Dado que la fórmula para el campo (5) utiliza la función SI, el flujo de cálculo se divide en varias ramas según la condición que se cumpla.
Punto de ramificación 1: ¿La parte del día es mayor que el número de días de la primera semana?
El número de días de la primera semana del mes se determina en función del primer día de la semana del mes.
A modo de ejemplo, la fórmula explicada en este artículo supone que el inicio de una semana es Domingo.
- Ejemplo: Si utilizas Domingo como inicio de una semana
- Si el primer día de la semana del mes es Lunes, la primera semana del mes consta de 6 días.
- Si el primer día de la semana del mes es Martes, la primera semana del mes consta de 5 días.
Al calcular si el número (parte del día) que se muestra en el campo (2) es mayor que el número de días de la primera semana del mes, el campo (5) determina si la fecha dada está en la primera semana o en la segunda o semanas subsiguientes.
- Si la parte del día es igual o menor que el número de días de la primera semana del mes
La fecha se reconoce como la primera semana del mes.
El campo (5) mostrará "1", que representa la primera semana. - Si la parte del día es mayor que el número de días de la primera semana del mes
La fecha se reconoce como la segunda semana o semanas posteriores del mes.
En este caso, el cálculo continúa. El cálculo que sigue identificará en qué semana específica se encuentra la fecha.
Rama 2: Si la fecha se encuentra en la segunda o posterior semanas, ¿en qué semana concreta se encuentra la fecha?
Si la parte del día es mayor que el número de días de la primera semana del mes, la fórmula realiza el cálculo para identificar en qué semana específica se encuentra la fecha.
En primer lugar, se calcula el número de días que han transcurrido desde el último día de la primera semana restando el número de días de la primera semana del número (parte del día) que se muestra en el campo (2).
Luego, el resultado del cálculo se divide por 7, que es el número de días de una semana.
Si no queda resto de la división
El número de semana para la fecha es el cociente más 1 (semana), que representa la primera semana del mes.
El campo (5) muestra el valor obtenido sumando 1 al cociente.
Ejemplo: Si el primer día del mes es Lunes y la fecha ingresada es el 13
Si el primer día del mes es Lunes, la primera semana del mes consta de 6 días.
13 (la parte del día de la fecha dada) menos 6 (el número de días de la primera semana del mes) es 7. Esto indica que han pasado 7 días desde el último día de la primera semana.
7 dividido por 7 (el número de días de una semana) es 1 (semana) sin resto.
Luego, al cociente del cálculo anterior, 1 (semana), que representa la primera semana del mes, se le suma 1 (semana). El resultado es 2 (semanas), lo que indica que la fecha dada está en la segunda semana del mes.
Si queda un resto de la división
El número de semana de la fecha es el cociente más 2 (semanas), que representa la primera semana del mes más una semana más para cubrir los días restantes.
El campo (5) muestra el valor obtenido al sumar 2 al cociente.
Ejemplo: Si el primer día del mes es Lunes y la fecha ingresada es el 15
Si el primer día del mes es Lunes, la primera semana del mes consta de 6 días.
15 (la parte del día de la fecha dada) menos 6 (el número de días de la primera semana del mes) es 9. Esto indica que han pasado 9 días desde el último día de la primera semana.
9 dividido por 7 (el número de días de una semana) es 1 (semana) con un resto de 2 (días).
Luego, al cociente del cálculo anterior, 1 (semana), se le suma 2 (semanas), que representa la primera semana del mes más una semana más para cubrir los días que faltan. El resultado es 3 (semanas), lo que indica que la fecha dada está en la tercera semana del mes.
Referencia: uso del campo con la función Gráfico
Para agregar datos de registros por número de semana mensual, especifique el campo (6) (el campo que muestra el número de semana mensual para una fecha determinada), que ha configurado en las secciones anteriores, en la sección Agrupar por en la configuración Gráfico.
-
Ejemplo de configuración de Gráfico
-
Ejemplo de resultado agregado
Además, si se coloca un campo "Fecha" en el formulario de la aplicación, puede usar la función Gráfico para agregar datos de registro por número de semana anual.
Esto se puede hacer especificando el campo "Fecha" y por semana en la sección Agrupar por en la configuración de Gráfico.
Por ejemplo, si el valor del campo "Fecha" es "30 de marzo de 2022", los datos del registro se agregan como "2022 13", ya que la fecha está en la semana 13 de 2022.
Referencia: plantilla de aplicación
Puede descargar una plantilla de aplicación con fórmulas preconfiguradas y configuraciones Gráfico desde el siguiente enlace.
Plantilla de aplicación "what_week_en.zip"
Haga clic en el enlace para descargar el archivo de plantilla (zip) e importarlo a Kintone sin descomprimirlo.