คำนวณหาวันที่หลังจากนับไป n วันทำการ โดยสามารถกำหนดว่าวันไหนเป็นวันหยุดสุดสัปดาห์ได้ (เหมาะสำหรับการค้นหาวันกำหนด deadline, วันนัดหมาย, วันส่งมอบสินค้า ในประเทศต่างๆ ที่มีวันทำงานแตกต่างกัน) รองรับทั้งรูปแบบตัวเลข (1-7, 11-17) และรูปแบบข้อความ (7 ตัวอักษร) สำหรับความยืดหยุ่นสูงสุด
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| start_date | Date | วันที่เริ่ม | |
| days | Number | จำนวนวันทำการที่ต้องการนับไป | |
| [weekend]ไม่บังคับ | Number/Text | 1 | รหัสหรือข้อความที่ระบุว่าวันไหนเป็นวันหยุดสุดสัปดาห์ (Default = 1 หรือ “0000011” = เสาร์-อาทิตย์)
📌 รูปแบบตัวเลข (Numeric Codes): 🔹 หยุด 2 วัน (Codes 1-7): 🔹 หยุด 1 วัน (Codes 11-17): 📌 รูปแบบข้อความ (String Format – 7 ตัวอักษร): 💡 เทคนิค: ใช้ IF หรือ CHOOSE เพื่อเลือก weekend code ตามประเทศ |
| [holidays]ไม่บังคับ | Range/Array | – | วันหยุดนักขัตฤกษ์ |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน WORKDAY.INTL ใน Excel ช่วยคำนวณหาวันที่ที่นับไปอีก n วันทำการ โดยกำหนดวันหยุดสุดสัปดาห์ได้เอง
13 ม.ค. 2025 เป็นวันจันทร์ นับไปข้างหน้า 10 วันทำการโดยข้ามเสาร์-อาทิตย์ทุกสัปดาห์ (รหัส 1) สัปดาห์แรกได้ อ.14-ศ.17 = 4 วัน สัปดาห์ถัดไปได้ จ.20-ศ.24 = 5 วัน รวม 9 วัน วันที่ 10 คือ จ.27 ม.ค. ข้อสังเกตสำคัญ: WORKDAY.INTL ไม่นับวันเริ่มต้นเป็นวันทำการ นับเฉพาะวันถัดจาก start_date เท่านั้น
ออฟฟิศสาขาดูไบหยุดศุกร์-เสาร์แทนเสาร์-อาทิตย์ (รหัส 7) จากจันทร์ 13 นับวันทำการ: อ.14, พ.15, พฤ.16 (ข้าม ศ.17-ส.18 เพราะเป็นวันหยุด), อา.19, จ.20 = ครบ 5 วัน ผลลัพธ์คือจันทร์ 20 ม.ค. ถ้าใช้รหัส 1 (หยุดเสาร์-อาทิตย์) แบบเดิม คำตอบจะเป็นคนละวันทันที นี่คือเหตุผลที่ต้องระบุ weekend ให้ตรงกับปฏิทินของประเทศคู่ค้า
โรงงานหยุดเฉพาะวันอาทิตย์ (รหัส 11 = หยุด 1 วัน) จากจันทร์ 13 นับวันทำการ: อ.-ส. 14-18 (5 วัน, ข้ามอาทิตย์ 19), แล้วต่อจันทร์ 20 = วันที่ 6 ผลลัพธ์คือจันทร์ 20 ม.ค. เทียบกับตัวอย่างที่ 1 (หยุด 2 วัน) จะเห็นว่ายิ่งหยุดน้อยวัน ระยะเวลาที่ใช้จริง (ปฏิทิน) ยิ่งสั้นกว่าที่คนทั่วไปคาดคิด
พนักงานกะพิเศษหยุดวันพุธและอาทิตย์ (ไม่ติดกัน) จึงต้องใช้รูปแบบข้อความ "0010001" (ตำแหน่งที่ 3 = พุธ, ตำแหน่งที่ 7 = อาทิตย์ เป็น 1) แทนรหัสตัวเลขที่รองรับเฉพาะวันหยุดติดกันหรือวันเดียว จากจันทร์ 13 นับวันทำการ: อ.14, พฤ.16, ศ.17, ส.18, จ.20, อ.21, พ.22-ข้ามเพราะหยุด กลับมานับ พฤ.23 = ครบ 7 วัน ผลลัพธ์คือพฤหัสบดี 23 ม.ค.
ฝ่ายจัดซื้อกำหนดส่งมอบ 20 วันทำการ (หยุดเสาร์-อาทิตย์ตามปกติ) แต่มีวันหยุดนักขัตฤกษ์แทรก 2 วันคือ 20 ม.ค. และ 3 ก.พ. ซึ่งทั้งสองวันนี้ตรงกับวันจันทร์ที่ปกติเป็นวันทำการอยู่แล้ว ฟังก์ชันจึงข้ามไปนับวันถัดไปแทน ทำให้วันครบกำหนดขยับออกไปอีก 2 วันจนถึง 12 ก.พ. — อาร์กิวเมนต์ holidays ต้องใส่ทุกครั้งที่มีวันหยุดพิเศษ ไม่งั้นวันที่คำนวณได้จะคลาดเคลื่อนจริง
WORKDAY นับวันหยุดสุดสัปดาห์เป็นเสาร์-อาทิตย์ตายตัว เปลี่ยนไม่ได้ ส่วน WORKDAY.INTL เพิ่มอาร์กิวเมนต์ weekend เข้ามา ให้กำหนดวันหยุดเองได้ทั้งแบบหยุด 1 วัน 2 วัน หรือวันไม่ติดกัน เหมาะกับบริษัทที่ทำงานกับสาขาต่างประเทศที่วันหยุดสุดสัปดาห์ไม่ตรงกับไทย ถ้าใช้ปฏิทินไทยปกติ ใช้ WORKDAY ก็พอ ไม่จำเป็นต้องเปลี่ยนมาใช้ .INTL
ตรวจ 2 จุด: (1) ต้องมี 7 ตัวอักษรพอดี ประกอบด้วย 0 กับ 1 เท่านั้น และต้องมีเลข 0 อย่างน้อย 1 ตัว (หยุดทุกวันไม่ได้) (2) ลำดับตัวอักษรคือ จันทร์-อังคาร-พุธ-พฤหัสบดี-ศุกร์-เสาร์-อาทิตย์เสมอ ไม่ใช่เริ่มจากอาทิตย์แบบปฏิทินไทยทั่วไป คนมักเข้าใจผิดว่าตัวแรกคืออาทิตย์แล้วนับผิดตำแหน่ง
ไม่นับ ฟังก์ชันเริ่มนับจากวันถัดจาก start_date เสมอ ต่อให้ start_date เป็นวันทำการก็ตาม นี่คือจุดที่คนสับสนกับ NETWORKDAYS.INTL ซึ่งนับรวมทั้งวันเริ่มต้นและวันสิ้นสุด ถ้าเอาสองฟังก์ชันมาเทียบกันตรงๆ ตัวเลขวันจะไม่ตรงกันโดยธรรมชาติ ไม่ใช่ฟังก์ชันผิด
เช็ค 3 อย่าง: เซลล์ที่อ้างอิงเป็น date จริงหรือ text (ถ้าเป็น text ฟังก์ชันจะไม่ตัดวันหยุดออกให้ และมักไม่ error ด้วย ทำให้หลงเชื่อว่าคำนวณถูกทั้งที่ผิด), ใส่วันหยุดครบทุกวันในช่วงที่คำนวณจริงหรือไม่ (ถ้าวันหยุดตกอยู่นอกช่วงที่ผลลัพธ์ครอบคลุม ฟังก์ชันจะไม่หักให้), และ range ที่ใส่มีเซลล์ว่างปนอยู่หรือเปล่า (เซลล์ว่างไม่ทำให้ error แต่ก็ไม่มีผลอะไร ไม่ใช่ตัวปัญหา)
ใช้ได้ตั้งแต่ Excel 2010 เป็นต้นไป (รวม Excel 365, Excel for web, Excel Mobile) ถ้าเปิดไฟล์ที่มีสูตรนี้ใน Excel 2007 หรือเก่ากว่า สูตรจะกลายเป็น #NAME? ทันทีเพราะเวอร์ชันนั้นไม่รู้จักฟังก์ชันนี้ ถ้าต้องแชร์ไฟล์กับคนที่ยังใช้ Excel เก่า ให้ใช้ WORKDAY ธรรมดาแทนถ้าไม่จำเป็นต้องกำหนดวันหยุดเอง
ฟังก์ชันที่ผู้เขียนโยงไว้กับ WORKDAY.INTL จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
DATE สร้างวันที่จากตัวเลขปี เดือน วัน แยกกัน รองรับการบวก/ลบเดือนที่เกิน 12 หรือค่าลบ และปรับวันที่ให้อัตโนมัติ เหมาะสำหรับสร้างวันที่จากสูตรหรือใช้ในเงื่อนไข SUMIFS COUNTIFS AVERAGEIFS
คำนวณจำนวนวันทำการระหว่างสองวัน โดยสามารถกำหนดว่าวันไหนเป็นวันหยุดสุดสัปดาห์ได้เอง (มีประโยชน์กับประเทศต่างๆ ที่มีเวลาทำงานแตกต่างกัน เช่น ดูไบอาทิตย์-จันทร์ หรือ มาเลเซีย ศุกร์-เสาร์) รองรับทั้งรูปแบบตัวเลข (1-7, 11-17) และรูปแบบข้อความ (7 ตัวอักษร) สำหรับความยืดหยุ่นสูงสุด
TODAY คืนค่า Serial Number ของวันที่ปัจจุบันตามเวลาของเครื่องคอมพิวเตอร์ โดยเวลาจะเป็น 0:00:00 เสมอ
.
ที่เจ๋งคือฟังก์ชันนี้เป็นประเภท Volatile ที่จะคำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใดๆ ในชีท ที่ต้องระวังคือไม่เหมาะกับการบันทึกวันที่ทำรายการ (Transaction Date) ที่ต้องการให้คงที่ครับ เพราะมันจะเปลี่ยนทุกครั้งที่เปิดไฟล์
WORKDAY คำนวณวันที่ทำงานที่อยู่ถัดไป/ย้อนหลังจากวันที่เริ่มต้น โดยหักวันหยุดสุดสัปดาห์ (เสาร์-อาทิตย์) และวันหยุดพิเศษที่ระบุออก
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่