การแสดง จำนวน สัปดาห์ รายเดือน สำหรับวันที่ที่กำหนด

Article Number:040787

การตั้งค่าสูตรใน Kintone จะช่วยให้คุณได้รับหมายเลขสัปดาห์รายเดือน ซึ่งจะเริ่มใหม่จาก 1 ในช่วงต้นเดือนของทุกเดือน สำหรับวันที่คุณป้อน
บทความนี้แสดงตัวอย่างการตั้งค่าพร้อมสูตร

การตระเตรียม

เปิดแท็บ แบบฟอร์ม ใน การตั้งค่าแอปพลิเคชัน และวางฟิลด์หกฟิลด์ต่อไปนี้บนฟอร์มแอป

  • (1) ช่อง “วันที่”
  • (2) ช่อง "ผลคำนวณ"
  • (3) ช่อง "ผลคำนวณ"
  • (4) ช่อง “ข้อความ”
  • (5) ช่อง "ผลคำนวณ"
  • (6) ช่อง “ข้อความ”

การตั้งค่า ของแต่ละฟิลด์

เปิดหน้าจอการตั้งค่าของแต่ละฟิลด์ที่คุณวางไว้บนแบบฟอร์มแอป และตั้งชื่อฟิลด์ รหัสฟิลด์ และสูตร
ภาพรวมของรหัสภาคสนาม

การตั้งค่าแต่ละฟิลด์ตามที่อธิบายไว้ด้านล่างจะทำให้ฟิลด์ (6) แสดงหมายเลขสัปดาห์รายเดือนสำหรับวันที่ป้อนในฟิลด์ (1)
ฟิลด์ (2) ถึง (5) ใช้สำหรับการคำนวณระดับกลาง

(1) ช่อง “วันที่”

ฟิลด์นี้ใช้สำหรับป้อนวันที่ที่คุณต้องการรับหมายเลขสัปดาห์รายเดือน

  • ชื่อฟิลด์: วันที่
  • รหัสฟิลด์ : วันที่

คุณไม่จำเป็นต้องกำหนดสูตรสำหรับฟิลด์นี้

(2) ช่อง "ผลคำนวณ"

ฟิลด์นี้จะแสดงส่วนวันของวันที่ที่ป้อนในฟิลด์ (1) (จำนวน วัน ที่ผ่านไปนับตั้งแต่วันแรกของเดือน)

  • ชื่อฟิลด์: วันที่ (ส่วนของวัน)

  • รหัสฟิลด์ : Date_Day_part

  • สูตร: กำหนดสูตรต่อไปนี้:

    เนื้อหาได้รับการคัดลอกแล้ว
    DATE_FORMAT(Date, "d", "Asia/Tokyo")

(3) ช่อง "ผลคำนวณ"

ฟิลด์นี้จะคำนวณวันแรกของเดือนในรูปแบบเวลา UNIX (ค่าตัวเลข) ตามวันที่ป้อนในฟิลด์ (1)

  • ชื่อฟิลด์: วันแรกของเดือน

  • รหัสฟิลด์ : วันแรกของเดือน

  • สูตร: กำหนดสูตรต่อไปนี้:

    เนื้อหาได้รับการคัดลอกแล้ว
    Date-((Date_Day_part-1)*60*60*24)

(4) ช่อง “ข้อความ”

ฟิลด์นี้จะคำนวณวันแรกของสัปดาห์ของเดือนโดยอิงจากวันแรกของเดือนที่คำนวณได้ในฟิลด์ (3)

  • ชื่อฟิลด์: วันแรกของสัปดาห์ของเดือน

  • รหัสฟิลด์ : วันแรกของสัปดาห์ของเดือน

  • สูตร: เลือก คำนวณอัตโนมัติ และตั้งค่าสูตรต่อไปนี้

    เนื้อหาได้รับการคัดลอกแล้ว
    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) ช่อง "ผลคำนวณ"

ขึ้นอยู่กับวันแรกของสัปดาห์ของเดือนที่คำนวณในฟิลด์ (4) ฟิลด์นี้จะคำนวณหมายเลขสัปดาห์รายเดือนสำหรับวันที่ที่แสดงในฟิลด์ (2)

  • ชื่อฟิลด์: หมายเลขสัปดาห์ รายเดือน

  • รหัสฟิลด์ : Monthly_week_number

  • สูตร: กำหนดสูตรต่อไปนี้ ตัวอย่างเช่น สูตรนี้ถือว่าวันเริ่มต้นสัปดาห์คือ วันอาทิตย์

    เนื้อหาได้รับการคัดลอกแล้ว
    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"
                   )
                 )
               )
             )
           )
         )
       )

    หากคุณต้องการใช้ วันจันทร์ เป็นจุดเริ่มต้นของสัปดาห์ ให้แทนที่ "วันอาทิตย์" ในส่วนต่อไปนี้ของสูตรด้วย "วันจันทร์": First_day_of_week_of_the_month=" วันอาทิตย์" ในทำนองเดียวกัน ให้แทนที่แต่ละ วัน ในสัปดาห์ในสูตรนี้ด้วยวันต่อไปนี้
    สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับสูตรนี้ โปรดดู คำอธิบายสูตรสำหรับฟิลด์ (5)

(6) ช่อง “ข้อความ”

จากจำนวนสัปดาห์รายเดือนที่คำนวณในฟิลด์ (5) ฟิลด์นี้จะแสดงจำนวนสัปดาห์รายเดือนสำหรับวันที่ป้อนในฟิลด์ (1) ในรูปแบบต่อไปนี้: สัปดาห์ที่ N ของ MMMM YYYY

  • ชื่อฟิลด์: หมายเลขสัปดาห์ รายเดือน (รูปแบบเต็ม)

  • รหัสฟิลด์ : Monthly_week_number_full

  • สูตร: เลือก คำนวณอัตโนมัติ และตั้งค่าสูตรต่อไปนี้

    เนื้อหาได้รับการคัดลอกแล้ว
    "Week "&Monthly_week_number&" of "&DATE_FORMAT(Date, "MMMM YYYY", "Asia/Tokyo")

คำอธิบายสูตรของฟิลด์ (5)

ขึ้นอยู่กับวันแรกของสัปดาห์ของเดือนที่คำนวณในฟิลด์ (4) ฟิลด์ (5) จะคำนวณหมายเลขสัปดาห์รายเดือนสำหรับวันที่โดยใช้ส่วนของวันที่แสดงในฟิลด์ (2)

เนื่องจากสูตรสำหรับฟิลด์ (5) ใช้ฟังก์ชัน IF กระแสการคำนวณจึงแยกออกเป็นหลายสาขาขึ้นอยู่กับเงื่อนไขที่ตรงตามเงื่อนไข

จุดแยกที่ 1: ส่วนของวันมีขนาดใหญ่กว่าจำนวน วัน ในสัปดาห์แรกหรือไม่?

จำนวน วัน ในสัปดาห์แรกของเดือนจะพิจารณาจากวันแรกของสัปดาห์ของเดือน
ตัวอย่างเช่น สูตรที่อธิบายไว้ในบทความนี้ถือว่าจุดเริ่มต้นของสัปดาห์คือ วันอาทิตย์

  • ตัวอย่าง: หากคุณใช้ วันอาทิตย์ เป็นจุดเริ่มต้นของสัปดาห์
    • หากวันแรกของสัปดาห์ของเดือนเป็น วันจันทร์ สัปดาห์แรกของเดือนจะประกอบด้วย 6 วัน
    • หากวันแรกของสัปดาห์ของเดือนเป็น วันอังคาร สัปดาห์แรกของเดือนจะประกอบด้วย 5 วัน

โดยการคํานวณว่าตัวเลข (ส่วนวัน) ที่แสดงในฟิลด์ (2) มากกว่าจํานวน วัน ในสัปดาห์แรกของเดือนหรือไม่ ฟิลด์ (5) จะกําหนดว่าวันที่ที่กําหนดอยู่ในสัปดาห์แรกหรือใน สัปดาห์ ที่สองหรือถัดไป

  • หากส่วนของวันเท่ากับหรือน้อยกว่าจำนวน วัน ในสัปดาห์แรกของเดือน
    วันที่ได้รับการยอมรับว่าเป็นสัปดาห์แรกของเดือน
    ช่อง (5) จะแสดง "1" ซึ่งหมายถึงสัปดาห์แรก
  • หากส่วนของวันมีขนาดใหญ่กว่าจํานวน วัน ในสัปดาห์แรกของเดือน
    วันที่ได้รับการยอมรับว่าเป็น สัปดาห์ ที่สองหรือถัดไปของเดือน
    ในกรณีนี้ การคํานวณจะดําเนินต่อไป การคํานวณที่ตามมาจะระบุว่าวันที่อยู่ในสัปดาห์ใดโดยเฉพาะ

จุดสาขา 2: ถ้าวันที่อยู่ใน สัปดาห์ ที่สองหรือถัดไป วันที่อยู่ในสัปดาห์ใด?

หากส่วนของวันมีขนาดใหญ่กว่าจำนวน วัน ในสัปดาห์แรกของเดือน สูตรจะทำการคำนวณเพื่อระบุว่าวันที่นั้นอยู่ในสัปดาห์ใดโดยเฉพาะ

ประการแรก จำนวน วัน ที่ผ่านไปตั้งแต่วันสุดท้ายของสัปดาห์แรกจะคำนวณโดยการลบจำนวน วัน ในสัปดาห์แรกออกจากจำนวน (ส่วนของวัน) ที่แสดงในช่อง (2)
จากนั้นผลลัพธ์การคำนวณจะถูกหารด้วย 7 ซึ่งเป็นจำนวน วัน ในหนึ่งสัปดาห์

ถ้าไม่มีเศษเหลือจากการแบ่ง

ตัวเลขสัปดาห์สำหรับวันที่เป็นผลหารบวก 1 (สัปดาห์) ซึ่งแสดงถึงสัปดาห์แรกของเดือน
ฟิลด์ (5) แสดงค่าที่ได้จากการบวก 1 ลงในผลหาร

ตัวอย่าง: หากวันแรกของเดือนเป็นวันที่ วันจันทร์ และวันที่ป้อนคือวันที่ 13
ถ้าวันแรกของเดือนเป็น วันจันทร์ สัปดาห์แรกของเดือนประกอบด้วย 6 วัน
13 (ส่วนของวันของวันที่กําหนด) ลบ 6 (จํานวน วัน ในสัปดาห์แรกของเดือน) คือ 7 นี่บ่งชี้ว่า 7 วัน ผ่านไปตั้งแต่วันสุดท้ายของสัปดาห์แรก
7 หารด้วย 7 (จํานวน วัน ในหนึ่งสัปดาห์) คือ 1 (สัปดาห์) โดยไม่มีเศษ
จากนั้น 1 (สัปดาห์) ซึ่งแสดงถึงสัปดาห์แรกของเดือนจะถูกเพิ่มลงในผลหารของการคํานวณข้างต้น 1 (สัปดาห์) ผลลัพธ์คือ 2 (สัปดาห์) ซึ่งบอกคุณว่าวันที่ที่กําหนดอยู่ในสัปดาห์ที่สองของเดือน

หากมีเศษเหลือจากการแบ่ง

หมายเลขสัปดาห์สําหรับวันที่คือผลหารบวก 2 (สัปดาห์) ซึ่งแสดงถึงสัปดาห์แรกของเดือนบวกอีกหนึ่งสัปดาห์สําหรับการครอบคลุม วัน ที่เหลือ
ฟิลด์ (5) แสดงค่าที่ได้รับจากการบวก 2 ให้กับผลหาร

ตัวอย่าง: หากวันแรกของเดือนเป็น วันจันทร์ และวันที่ป้อนคือวันที่ 15
ถ้าวันแรกของเดือนเป็น วันจันทร์ สัปดาห์แรกของเดือนประกอบด้วย 6 วัน
15 (ส่วนวันของวันที่กําหนด) ลบ 6 (จํานวน วัน ในสัปดาห์แรกของเดือน) คือ 9 นี่บ่งชี้ว่า 9 วัน ผ่านไปตั้งแต่วันสุดท้ายของสัปดาห์แรก
9 หารด้วย 7 (จํานวน วัน ในหนึ่งสัปดาห์) คือ 1 (สัปดาห์) โดยมีส่วนที่เหลือ 2 (วัน)
จากนั้น 2 (สัปดาห์) ซึ่งแสดงถึงสัปดาห์แรกของเดือนบวกอีกหนึ่งสัปดาห์สําหรับการครอบคลุม วัน ที่เหลือจะถูกเพิ่มลงในผลหารของการคํานวณข้างต้น 1 (สัปดาห์) ผลลัพธ์คือ 3 (สัปดาห์) ซึ่งบอกคุณว่าวันที่กําหนดอยู่ในสัปดาห์ที่สามของเดือน

อ้างอิง: การใช้ฟิลด์ที่มีฟีเจอร์แผนภูมิ

หากต้องการรวมข้อมูลบันทึกตามหมายเลขสัปดาห์รายเดือน ให้ระบุฟิลด์ (6) (ฟิลด์ที่แสดงหมายเลขสัปดาห์รายเดือนสำหรับวันที่กำหนด) ซึ่งคุณได้ตั้งค่าไว้ในส่วนต่างๆ ข้างต้น ในส่วนจัด จัดกลุ่มตาม ในการตั้งค่า กราฟ

  • ตัวอย่างการตั้งค่า กราฟภาพหน้าจอ: หน้าจอการตั้งค่า กราฟ

  • ตัวอย่างผลรวมภาพหน้าจอ: หน้าจอที่แสดงผลลัพธ์รวม

นอกจากนี้ หากคุณใส่ช่อง "วันที่" ไว้ในแบบฟอร์มแอปของคุณ คุณสามารถใช้คุณลักษณะแผนภูมิเพื่อรวมข้อมูลบันทึกตามหมายเลขสัปดาห์ในแต่ละปีได้
สามารถทำได้โดยระบุฟิลด์ "วันที่" และ ตามสัปดาห์ ในส่วน จัดกลุ่มตาม ในการตั้งค่า กราฟ
ตัวอย่างเช่น หากค่าในฟิลด์ "วันที่" คือ "30 มีนาคม 2022" ข้อมูลบันทึกจะถูกรวมเป็น "2022 13" เนื่องจากวันที่อยู่ในสัปดาห์ที่ 13 ของปี 2022

อ้างอิง: เทมเพลตแอป

คุณสามารถดาวน์โหลดเทมเพลตแอปพร้อมสูตรที่กำหนดไว้ล่วงหน้าและการตั้งค่า กราฟ ได้จากลิงก์ด้านล่าง

เทมเพลตแอป "what_week_en.zip"

คลิกลิงก์เพื่อดาวน์โหลดไฟล์เทมเพลต (zip) และนำเข้าสู่ Kintone โดยไม่ต้องแตกไฟล์