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

หมายเลขบทความ:040787

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

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

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

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

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

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

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

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

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

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

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

(2) ฟิลด์ "ผลคำนวณ"

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

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

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

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

    เนื้อหาได้ถูกคัดลอกแล้ว
    DATE_FORMAT(วันที่, "d", "เอเชีย/โตเกียว")

(3) ฟิลด์ "ผลคำนวณ"

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

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

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

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

    เนื้อหาได้ถูกคัดลอกแล้ว
    วันที่-((วันที่_วันที่_ส่วนที่-1)*60*60*24)

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

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

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

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

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

    เนื้อหาได้ถูกคัดลอกแล้ว
    ถ้า ( ( (วันแรกของเดือน / 60 / 60 / 24) - 0) / 7 ) -ROUNDUP (( ( (วันแรกของเดือน / 60 / 60 / 24) - 0) / 7 ) , 0) = 0 , "วันพฤหัสบดี",
    ถ้า ( ( (วันแรกของเดือน / 60 / 60 / 24) - 1) / 7 ) -ROUNDUP (( ( (วันแรกของเดือน / 60 / 60 / 24) - 1) / 7 ) , 0) = 0 , "วันศุกร์",
    ถ้า ( ( (วันแรกของเดือน / 60 / 60 / 24) - 2) / 7 ) -ROUNDUP (( ( (วันแรกของเดือน / 60 / 60 / 24) - 2) / 7 ) , 0) = 0 , "วันเสาร์",
    ถ้า ( ( (วันแรกของเดือน / 60 / 60 / 24) - 3) / 7 ) -ROUNDUP (( ( (วันแรกของเดือน / 60 / 60 / 24) - 3) / 7 ) , 0) = 0 , "วันอาทิตย์",
    ถ้า ( ( (วันแรกของเดือน / 60 / 60 / 24) - 4) / 7 ) -ROUNDUP (( ( (วันแรกของเดือน / 60 / 60 / 24) - 4) / 7 ) , 0) = 0 , "วันจันทร์",
    ถ้า ( ( (วันแรกของเดือน / 60 / 60 / 24) - 5) / 7 ) -ROUNDUP (( ( (วันแรกของเดือน / 60 / 60 / 24) - 5) / 7 ) , 0) = 0 , "วันอังคาร"
    IF( ( ( (First_day_of_the_month / 60 / 60 / 24) - 6) / 7 ) -ROUNDUP (( ( (First_day_of_the_month / 60 / 60 / 24) - 6) / 7 ) , 0) = 0 , "วันพุธ",""
    )
    )
    )
    )
    )
    )
    )

(5) ฟิลด์ "ผลคำนวณ"

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

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

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

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

    เนื้อหาได้ถูกคัดลอกแล้ว
    ถ้า (วันแรกของสัปดาห์ของเดือนเป็นวันอาทิตย์) ถ้า (ส่วนของวันที่ <= 7) 1 ถ้า (ROUNDUP ((ส่วนของวันที่ - 7) / 7) -ROUNDDOWN ((ส่วนของวันที่ - 7) / 7) = 0 ROUNDDOWN ((ส่วนของวันที่ - 7) / 7) + 1 ROUNDDOWN ((ส่วนของวันที่ - 7) / 7) + 2)
    ถ้า (วันแรกของสัปดาห์ของเดือนเป็นวันจันทร์) ถ้า (ส่วนของวันที่ <= 6) 1 ถ้า (ROUNDUP ((ส่วนของวันที่ - 6) / 7) -ROUNDDOWN ((ส่วนของวันที่ - 6) / 7) = 0 ROUNDDOWN ((ส่วนของวันที่ - 6) / 7) + 1 ROUNDDOWN ((ส่วนของวันที่ - 6) / 7) + 2)
    ถ้า (วันแรกของสัปดาห์ของเดือนเป็นวันอังคาร) ถ้า (ส่วนของวันที่ <= 5) 1 ถ้า (ROUNDUP ((ส่วนของวันที่ - 5) / 7) -ROUNDDOWN ((ส่วนของวันที่ - 5) / 7) = 0 ROUNDDOWN ((ส่วนของวันที่ - 5) / 7) + 1 ROUNDDOWN ((ส่วนของวันที่ - 5) / 7) + 2)
    ถ้า (วันแรกของสัปดาห์ของเดือนเป็นวันพุธ) ถ้า (ส่วนของวันที่ <= 4) 1 ถ้า (ROUNDUP ((ส่วนของวันที่ - 4) / 7) -ROUNDDOWN ((ส่วนของวันที่ - 4) / 7) = 0 ROUNDDOWN ((ส่วนของวันที่ - 4) / 7) + 1 ROUNDDOWN ((ส่วนของวันที่ - 4) / 7) + 2)
    ถ้า (วันแรกของสัปดาห์ของเดือนเป็น "วันพฤหัสบดี", ถ้า (ส่วนของวันที่ <= 3, 1, ถ้า (ROUNDUP ((ส่วนของวันที่ - 3) / 7) -ROUNDDOWN ((ส่วนของวันที่ - 3) / 7) = 0, ROUNDDOWN ((ส่วนของวันที่ - 3) / 7) + 1, ROUNDDOWN ((ส่วนของวันที่ - 3) / 7) + 2)),
    ถ้า (วันแรกของสัปดาห์ของเดือนเป็นวันศุกร์) ถ้า (ส่วนของวันที่ <= 2) 1 ถ้า (ROUNDUP ((ส่วนของวันที่ - 2) / 7) -ROUNDDOWN ((ส่วนของวันที่ - 2) / 7) = 0 ROUNDDOWN ((ส่วนของวันที่ - 2) / 7) + 1 ROUNDDOWN ((ส่วนของวันที่ - 2) / 7) + 2)
    ถ้า (วันแรกของสัปดาห์ของเดือนเป็นวันเสาร์) ถ้า (ส่วนของวันที่ <= 1) 1 ถ้า (ROUNDUP ((ส่วนของวันที่ - 1) / 7) -ROUNDDOWN ((ส่วนของวันที่ - 1) / 7) = 0 ROUNDDOWN ((ส่วนของวันที่ - 1) / 7) + 1 ROUNDDOWN ((ส่วนของวันที่ - 1) / 7) + 2)
    )
    )
    )
    )
    )
    )
    )

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

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

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

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

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

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

    เนื้อหาได้ถูกคัดลอกแล้ว
    "สัปดาห์ "&Monthly_week_number&" ของ "&DATE_FORMAT(วันที่, "MMMM YYYY", "เอเชีย/โตเกียว")

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

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

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

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

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

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

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

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

จุดที่ 2 : ถ้าวันที่อยู่ในสัปดาห์ที่ 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 (สัปดาห์) ที่ใช้ครอบคลุมวันที่เหลืออยู่ มาบวกกับผลหารของการคำนวณข้างต้น คือ 1 (สัปดาห์) ผลลัพธ์ที่ได้คือ 3 (สัปดาห์) ซึ่งแสดงว่าวันที่กำหนดนั้นอยู่ในสัปดาห์ที่สามของเดือน

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

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

  • ตัวอย่างการตั้งค่าแผนภูมิ ภาพหน้าจอ: หน้าจอการตั้งค่า "กราฟิก"

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

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

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

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

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

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