Mostrar el Número de semana Mensualmente para una fecha determinada

Article Number:040787

Al configurar fórmulas en Kintone, puede obtener el número de semana mensual, que comienza desde 1 al comienzo de cada mes, para la fecha que ingresa.
Este artículo proporciona configuraciones de ejemplo 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

Configurar cada campo como se describe a continuación hace que el campo (6) muestre el número de semana mensual para 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: establece 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 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: establece la siguiente fórmula.

    El contenido ha sido copiado.
    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: seleccione Calcular automáticamente y establezca 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","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: establece la siguiente fórmula. Como ejemplo, esta fórmula supone que el inicio de una semana es 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)), "N/A"
                   )
                 )
               )
             )
           )
         )
       )

    Si desea utilizar Lunes como inicio de una semana, reemplace "Domingo" en la siguiente parte de la fórmula con "Lunes": Primer_día_de_semana_del_mes=" Domingo" De manera similar, reemplace cada uno de los días de la semana en esta fórmula con el que sigue.
    Para 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: seleccione Calcular automáticamente y establezca 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)

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 utiliza Domingo como inicio de 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
    Se reconoce que la fecha es la segunda o siguientes semanas 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.

Punto de bifurcación 2: si la fecha es en la segunda semanas o en las siguientes, ¿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.

Primero, el número de días que han pasado desde el último día de la primera semana se calcula 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 día 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), se le suma 1 (semana), que representa la primera semana del mes. El resultado es 2 (semanas), lo que le indica que la fecha dada es la segunda semana del mes.

Si queda un resto de la división

El número de semana para 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 sobrantes.
El campo (5) muestra el valor obtenido sumando 2 al cociente.

Ejemplo: Si el primer día del mes es Lunes y la fecha ingresada es el día 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 (semanas), que representa la primera semana del mes más una semana más para cubrir los días sobrantes. El resultado es 3 (semanas), lo que le indica que la fecha dada es 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 configuró en las secciones anteriores, en la sección Agrupar por en la configuración de Gráfico.

  • Ejemplo de configuración GráficoCaptura de pantalla: la pantalla de configuración Gráfico

  • Ejemplo de resultado agregadoCaptura de pantalla: la pantalla que muestra el 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 gráfica.
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.