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

Article Number:040787

Al usar fórmulas en tu aplicación Kintone, puedes calcular en qué semana del mes cae una fecha determinada.
Este artículo proporciona un ejemplo de cómo hacerlo.

Preparación

Abra la pestaña [Formulario] en la pantalla [Configuración de la aplicación] de su aplicación, luego 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 campo

Abra la pantalla de configuración de cada uno de los campos que colocó 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 calcular la semana del mes.

  • 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 el día de la fecha ingresada en el campo (1), indicando cuántos días han pasado desde el inicio 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(Date, "d", "Asia/Tokyo")

(3) Campo "Calculado"

Este campo calcula el primer día del mes en horario UNIX (un valor numérico) basándose en 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.
    Date-((Date_Day_part-1)*60*60*24)

(4) Campo "Texto"

Este campo calcula el día de la semana del primer día del mes en función del día 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.

    El contenido ha sido copiado.
    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",
                  )
                )
              )
            )
          )
        )
      )

(5) Campo "Calculado"

Basándose en el día de la semana calculado en el campo (4), este campo calcula el número de semana del mes para la fecha mostrada 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. En este ejemplo, se asume que la semana comienza en Domingo.

    El contenido ha sido copiado.
    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)), ) ) ) ) ) ) )

    Si desea usar Lunes como inicio de la semana, reemplace "Domingo" en la siguiente parte de la fórmula por "Lunes": First_day_of_week_of_the_month=" Domingo". Luego, ajuste los demás días de la semana en la fórmula de forma similar, adelantándolos un día. (Reemplace "Lunes" por "Martes", y así sucesivamente).
    Para obtener más detalles sobre esta fórmula, consulte Explicación de la fórmula para el campo (5).

(6) Campo "Texto"

Este campo muestra el número de semana del mes de la fecha ingresada en el campo (1), según el número de semana calculado en el campo (5), 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.

    El contenido ha sido copiado.
    "Week "&Monthly_week_number&" of "&DATE_FORMAT(Date, "MMMM YYYY", "Asia/Tokyo")

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 del mes utilizando el día mostrado 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.
La fórmula utilizada como ejemplo en este artículo supone que una semana comienza el 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 semana 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 semanas o subsiguiente del mes.
    En este caso, el cálculo continúa. El cálculo posterior identificará la semana específica en la que 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 queda resto de la división

El número de semana de la fecha es el cociente más 1 (que representa la primera semana del mes).
El campo (5) muestra el valor obtenido al sumar 1 al cociente.

Ejemplo cuando 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 sin resto.
Luego, se suma 1, que representa la primera semana del mes, al cociente del cálculo anterior (1). El resultado es 2, 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 (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 cuando 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, se suma 2 (que representa la primera semana del mes más una semana adicional para cubrir los días restantes) al cociente del cálculo anterior (1). El resultado es 3, 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 semana del mes, 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 la configuración GráficoScreenshot: The Graph settings screen

  • Ejemplo de resultado agregadoScreenshot: The screen that shows the aggregate result

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 semana número del año.
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.