การแสดงหมายเลขสัปดาห์ของเดือนสำหรับวันที่ที่กำหนด
คุณสามารถคำนวณได้ว่าวันที่กำหนดนั้นอยู่ในสัปดาห์ใดของเดือนโดยใช้สูตรในแอป Kintone
บทความนี้ให้ตัวอย่างวิธีการดำเนินการดังกล่าว
การตระเตรียม
เปิดแท็บ [แบบฟอร์ม] บนหน้าจอ [การตั้งค่าแอป] ของแอปของคุณ จากนั้นวางฟิลด์ทั้งหกต่อไปนี้บนฟอร์มแอป
- (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", ) ) ) ) ) ) )
(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)), ) ) ) ) ) ) )หากคุณต้องการใช้ วันจันทร์ เป็นวันเริ่มต้นสัปดาห์ ให้แทนที่ "วันอาทิตย์" ในส่วนต่อไปนี้ของสูตรด้วย "วันจันทร์": First_day_of_week_of_the_month=" วันอาทิตย์" จากนั้น ปรับ วัน อื่นๆ ในสัปดาห์ในสูตรในลักษณะเดียวกัน โดยเลื่อนไปข้างหน้าหนึ่งวัน (แทนที่ "วันจันทร์" ด้วย "วันอังคาร" และทำอย่างนี้ต่อไป)
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับสูตรนี้ โปรดดู คำอธิบายสูตรสำหรับฟิลด์ (5)
(6) ช่อง “ข้อความ”
ฟิลด์นี้จะแสดงหมายเลขสัปดาห์ของเดือนสำหรับวันที่ป้อนในฟิลด์ (1) โดยอิงจากหมายเลขสัปดาห์ที่คำนวณในฟิลด์ (5) ในรูปแบบต่อไปนี้: "สัปดาห์ที่ 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 เข้าไปในผลหาร
ตัวอย่างเมื่อวันที่ 1 ของเดือนคือ วันจันทร์ และวันที่ป้อนคือวันที่ 13:
หากวันแรกของเดือนเป็น วันจันทร์ สัปดาห์แรกของเดือนจะมี 6 วัน
13 (ส่วนวันของวันที่กำหนด) ลบด้วย 6 (จำนวน วัน ในสัปดาห์แรกของเดือน) เท่ากับ 7 แสดงว่าผ่านไปแล้ว 7 วัน นับตั้งแต่วันสุดท้ายของสัปดาห์แรก
7 หารด้วย 7 (จำนวน วัน ในหนึ่งสัปดาห์) เท่ากับ 1 โดยไม่เหลือเศษ
จากนั้นนำ 1 ซึ่งแทนสัปดาห์แรกของเดือน มาบวกเข้ากับผลหารของการคำนวณข้างต้น (1) ผลลัพธ์คือ 2 ซึ่งบ่งบอกว่าวันที่กำหนดนั้นอยู่ในสัปดาห์ที่สองของเดือน
หากมีเศษเหลือจากการแบ่ง
ตัวเลขสัปดาห์สำหรับวันที่เป็นผลหารบวก 2 (หมายถึงสัปดาห์แรกของเดือนบวกอีกหนึ่งสัปดาห์เพื่อครอบคลุม วัน ที่เหลืออยู่)
ฟิลด์ (5) แสดงค่าที่ได้จากการบวก 2 เข้าไปในผลหาร
ตัวอย่างเมื่อวันที่ 1 ของเดือนคือ วันจันทร์ และวันที่ป้อนคือวันที่ 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 โดยไม่ต้องแตกไฟล์