Visualización del número de semana mensual para una fecha determinada

記事番号:040787

Al configurar fórmulas en Kintone, puede obtener el número de semana mensual, que se 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 pantalla de configuración de la aplicación 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"

Configuración de cada campo

Abra la pantalla de configuración de cada uno de los campos que haya colocado en el formulario de la aplicación y configure el nombre del campo, el código del 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).
Los campos (2) a (5) se utilizan para cálculos intermedios.

(1) Campo "Fecha"

Este campo se utiliza para ingresar la fecha para la que 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.

    El contenido ha sido copiado.
    DATE_FORMAT(Fecha, "d", "Asia/Tokio")

(3) Campo "Calculado"

Este campo calcula el primer día del mes en formato de hora UNIX (valor numérico) según 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.

    El contenido ha sido copiado.
    Fecha-((Fecha_Día_parte-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: seleccione Calcular automáticamente y configure la siguiente fórmula.

    El contenido ha sido copiado.
    IF( ( ( (Primer_día_del_mes / 60 / 60 / 24) - 0) / 7 ) - ROUNDUP(( ( (Primer_día_del_mes / 60 / 60 / 24) - 0) / 7 ) , 0) = 0 , "Jueves",
    IF( ( ( (Primer_día_del_mes / 60 / 60 / 24) - 1) / 7 ) - ROUNDUP(( ( (Primer_día_del_mes / 60 / 60 / 24) - 1) / 7 ) , 0) = 0 , "Viernes",
    IF( ( ( (Primer_día_del_mes / 60 / 60 / 24) - 2) / 7 ) - ROUNDUP(( ( (Primer_día_del_mes / 60 / 60 / 24) - 2) / 7 ) , 0) = 0 , "Sábado",
    IF( ( ( (Primer_día_del_mes / 60 / 60 / 24) - 3) / 7 ) - ROUNDUP(( ( (Primer_día_del_mes / 60 / 60 / 24) - 3) / 7 ) , 0) = 0 , "Domingo",
    IF( ( ( (Primer_día_del_mes / 60 / 60 / 24) - 4) / 7 ) - ROUNDUP(( ( (Primer_día_del_mes / 60 / 60 / 24) - 4) / 7 ) , 0) = 0 , "Lunes",
    IF( ( ( (Primer_día_del_mes / 60 / 60 / 24) - 5) / 7 ) - ROUNDUP(( ( (Primer_día_del_mes / 60 / 60 / 24) - 5) / 7 ) , 0) = 0 , "Martes",
    IF( ( ( (Primer_día_del_mes / 60 / 60 / 24) - 6) / 7 ) - ROUNDUP(( ( (Primer_día_del_mes / 60 / 60 / 24) - 6) / 7 ) , 0) = 0 , "Miércoles",
    )
    )
    )
    )
    )
    )
    )

(5) Campo "Calculado"

Basándose en 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 mensual

  • Código de campo: Número_de_semana_mensual

  • Fórmula: Establezca la siguiente fórmula. Por ejemplo, esta fórmula asume que la semana comienza el domingo.

    El contenido ha sido copiado.
    IF(Primer_día_de_la_semana_del_mes="Domingo", IF(Fecha_Día_parte<=7, 1, IF(ROUNDUP((Fecha_Día_parte-7)/7)-ROUNDDOWN((Fecha_Día_parte-7)/7)=0, ROUNDDOWN((Fecha_Día_parte-7)/7)+1, ROUNDDOWN((Fecha_Día_parte-7)/7)+2)),
    IF(Primer_día_de_la_semana_del_mes="Lunes", IF(Fecha_Día_parte<=6, 1, IF(ROUNDUP((Fecha_Día_parte-6)/7)-ROUNDDOWN((Fecha_Día_parte-6)/7)=0, ROUNDDOWN((Fecha_Día_parte-6)/7)+1, ROUNDDOWN((Fecha_Día_parte-6)/7)+2)),
    IF(Primer_día_de_la_semana_del_mes="Martes", IF(Fecha_Día_parte<=5, 1, IF(ROUNDUP((Fecha_Día_parte-5)/7)-ROUNDDOWN((Fecha_Día_parte-5)/7)=0, ROUNDDOWN((Fecha_Día_parte-5)/7)+1, ROUNDDOWN((Fecha_Día_parte-5)/7)+2)),
    IF(Primer_día_de_la_semana_del_mes="Miércoles", IF(Fecha_Día_parte<=4, 1, IF(ROUNDUP((Fecha_Día_parte-4)/7)-ROUNDDOWN((Fecha_Día_parte-4)/7)=0, ROUNDDOWN((Fecha_Día_parte-4)/7)+1, ROUNDDOWN((Fecha_Día_parte-4)/7)+2)),
    IF(Primer_día_de_la_semana_del_mes="Jueves", IF(Fecha_Día_parte<=3, 1, IF(ROUNDUP((Fecha_Día_parte-3)/7)-ROUNDDOWN((Fecha_Día_parte-3)/7)=0, ROUNDDOWN((Fecha_Día_parte-3)/7)+1, ROUNDDOWN((Fecha_Día_parte-3)/7)+2)),
    IF(Primer_día_de_la_semana_del_mes="Viernes", IF(Fecha_Día_parte<=2, 1, IF(ROUNDUP((Fecha_Día_parte-2)/7)-ROUNDDOWN((Fecha_Día_parte-2)/7)=0, ROUNDDOWN((Fecha_Día_parte-2)/7)+1, ROUNDDOWN((Fecha_Día_parte-2)/7)+2)),
    IF(Primer_día_de_la_semana_del_mes="Sábado", IF(Fecha_Día_parte<=1, 1, IF(ROUNDUP((Fecha_Día_parte-1)/7)-ROUNDDOWN((Fecha_Día_parte-1)/7)=0, ROUNDDOWN((Fecha_Día_parte-1)/7)+1, ROUNDDOWN((Fecha_Día_parte-1)/7)+2)), ""
    )
    )
    )
    )
    )
    )
    )

    Si desea utilizar el 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 la siguiente página:
    Explicación de la fórmula del campo (5)

(6) Campo "Texto"

Basado en 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 mensual (formato completo)

  • Código de campo: Monthly_week_number_full

  • Fórmula: seleccione Calcular automáticamente y configure la siguiente fórmula.

    El contenido ha sido copiado.
    "Semana "&Número_de_semana_mensual&" de "&DATE_FORMAT(Fecha, "MMMM AAAA", "Asia/Tokio")

Explicación de la fórmula del campo (5)

Basándose en 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 dependiendo de qué condición 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 comienzo de una semana es el domingo.

  • Ejemplo: Si utilizas el 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 posteriores.

  • Si la parte del día es igual o menor que el número de días de la primera semana del mes
    Se reconoce que la fecha es 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 subsiguiente del mes.
    En este caso, el cálculo continúa. El cálculo posterior identificará en qué semana específica se encuentra la fecha.

Punto de ramificación 2: Si la fecha está en la segunda semana o en semanas posteriores, ¿en qué semana específica se encuentra la fecha?

Si la parte del día es mayor que la cantidad 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 hay resto de la división

El número de semana de la fecha es el cociente más 1 (semana), que representa la primera semana del mes.
El campo (5) muestra el valor obtenido al sumar 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, se suma 1 (semana), que representa la primera semana del mes, al cociente del cálculo anterior, 1 (semana). El resultado es 2 (semanas), lo que indica que la fecha dada corresponde a 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 adicional para cubrir los días restantes. El resultado es 3 (semanas), lo que indica que la fecha dada corresponde a 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 del Gráfico.

  • Ejemplos de configuraciones de gráficos Captura de pantalla: La pantalla de configuración de "Gráficos"

  • Ejemplo de resultado agregadoCaptura de pantalla: La pantalla que muestra el resultado agregado

Además, si se coloca un campo de Fecha en el formulario de su aplicación, puede usar la función Gráfico para agregar datos de registro por número de semana del año.
Esto se puede hacer especificando el campo Fecha y por semana en la sección Agrupar por en la configuración del 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 de gráficos desde el siguiente enlace.

Plantilla de la aplicación: "what_week_en.zip"

Haga clic en el enlace para descargar el archivo de plantilla (zip) e importarlo a Kintone sin descomprimirlo.