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

記事番号:040787

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    เนื้อหาได้ถูกคัดลอกแล้ว
    "สัปดาห์ "&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" ข้อมูลเรกคอร์ดจะถูกรวมเป็น "2022 13" เนื่องจากวันที่อยู่ในสัปดาห์ที่ 13 ของปี 2022

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

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

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

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