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

Article Number:040787

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

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

Open the Form tab in the App settings and place the following six fields on the app form.

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

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

Open the settings screen of each of the fields you have placed on the app form, and set the field name, field code, and formula.
Overview of field codes

การตั้งค่าแต่ละฟิลด์ตามที่อธิบายไว้ด้านล่างจะทำให้ฟิลด์ (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) (ฟิลด์ที่แสดงหมายเลขสัปดาห์รายเดือนสำหรับวันที่กำหนด) ซึ่งคุณได้ตั้งค่าไว้ในส่วนต่างๆ ข้างต้น ในส่วนจัด จัดกลุ่มตาม ในการตั้งค่า กราฟ

  • ตัวอย่างการตั้งค่า กราฟScreenshot: The graph settings screen

  • ตัวอย่างผลรวมScreenshot: The screen that shows the aggregate result

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

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

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

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

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