ISOWEEKNUM บอกว่าวันที่หนึ่งๆ อยู่สัปดาห์ที่เท่าไรของปี ตามมาตรฐานสากล ISO 8601 ที่ใช้กันแพร่หลายในงานโลจิสติกส์ การผลิต และการติดต่อกับคู่ค้าต่างประเทศ (มักเห็นเป็นรหัสแบบ “W32”) ต่างจาก WEEKNUM ตรงกฎการนับสัปดาห์แรกและวันเริ่มสัปดาห์
กฎการนับแบบ ISO
- สัปดาห์เริ่มวันจันทร์ เสมอ
- สัปดาห์ที่ 1 ของปี คือสัปดาห์ที่มีวันพฤหัสบดีแรกของปีอยู่ (พูดอีกแบบคือสัปดาห์ที่มีวันที่ 4 มกราคม)
- ต้นปีบางวันจึงอาจถูกนับเป็นสัปดาห์ที่ 52 หรือ 53 ของปีก่อนหน้า
รูปแบบสูตร: =ISOWEEKNUM(วันที่) คืนตัวเลข 1 ถึง 53 ใช้ได้ตั้งแต่ Excel 2013
ตัวอย่างที่ 1: วันที่รอบปลายปี
=ISOWEEKNUM(A2)| A | B | |
|---|---|---|
| 1 | วันที่ | สัปดาห์ ISO |
| 2 | 10/08/2026 | 33 |
| 3 | 31/12/2026 | 53 |
| 4 | 01/01/2027 | 53 |
| 5 | 04/01/2027 | 1 |
1 ม.ค. 2027 เป็นวันศุกร์ จึงยังถูกนับรวมอยู่ในสัปดาห์ที่ 53 ของปี 2026 ต่อเมื่อถึงวันจันทร์ที่ 4 ม.ค. 2027 จึงเริ่มนับเป็นสัปดาห์ที่ 1 ของปีใหม่
ตัวอย่างที่ 2: ISOWEEKNUM ต่างจาก WEEKNUM
| วันที่ 1 ม.ค. 2027 (ศุกร์) | ผลลัพธ์ |
=ISOWEEKNUM(...) |
53 (สัปดาห์สุดท้ายของปี 2026) |
=WEEKNUM(..., 1) เริ่มสัปดาห์วันอาทิตย์ |
1 |
=WEEKNUM(..., 2) เริ่มสัปดาห์วันจันทร์ |
1 |
=WEEKNUM(..., 21) โหมด ISO |
53 |
WEEKNUM แบบปกติจะให้ 1 มกราคมเป็นสัปดาห์ที่ 1 เสมอ ส่วน ISOWEEKNUM (และ WEEKNUM โหมด 21) ใช้กฎ ISO ถ้าต้องส่งรายงานให้คู่ค้าต่างประเทศ ให้ยึด ISOWEEKNUM
ตัวอย่างที่ 3: สร้างรหัสสัปดาห์แบบ 2026-W33
=YEAR(A2)&"-W"&TEXT(ISOWEEKNUM(A2),"00")| A | B | |
|---|---|---|
| 1 | วันที่ผลิต | รหัสสัปดาห์ |
| 2 | 10/08/2026 | 2026-W33 |
TEXT กับรหัส "00" เติมเลข 0 ข้างหน้าให้เป็นสองหลักเสมอ (W03 ไม่ใช่ W3) ข้อควรระวัง: สำหรับวันที่ช่วงรอยต่อปี เช่น 1 ม.ค. 2027 ที่เป็นสัปดาห์ 53 การใช้ YEAR() จะได้ 2027 ทั้งที่ควรเป็น 2026-W53 ถ้างานต้องแม่นช่วงรอยต่อ ต้องคำนวณ “ปีแบบ ISO” เพิ่ม แต่สำหรับวันที่กลางปีทั่วไปสูตรนี้ใช้ได้ดี
ข้อควรรู้
- รับเฉพาะค่าวันที่ — ถ้าใส่ข้อความที่ไม่ใช่วันที่จะได้
#VALUE!ถ้าใส่ตัวเลขติดลบได้#NUM! - ปีที่มี 53 สัปดาห์ — เกิดเมื่อปีนั้นเริ่มวันพฤหัสบดี (หรือวันพุธในปีอธิกสุรทิน) เช่นปี 2026 ที่เริ่มวันพฤหัสบดี
- อยากได้ชื่อวัน/สิ้นเดือน — ดู WEEKDAY และ EOMONTH