คำนวณจำนวนวันทำการระหว่างสองวัน โดยสามารถกำหนดว่าวันไหนเป็นวันหยุดสุดสัปดาห์ได้เอง (มีประโยชน์กับประเทศต่างๆ ที่มีเวลาทำงานแตกต่างกัน เช่น ดูไบอาทิตย์-จันทร์ หรือ มาเลเซีย ศุกร์-เสาร์) รองรับทั้งรูปแบบตัวเลข (1-7, 11-17) และรูปแบบข้อความ (7 ตัวอักษร) สำหรับความยืดหยุ่นสูงสุด
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| start_date | Date | วันที่เริ่ม | |
| end_date | Date | วันที่สิ้นสุด | |
| [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 | – | ช่วงวันที่ที่เป็นวันหยุดนักขัตฤกษ์ |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน NETWORKDAYS.INTL ใน Excel ช่วยคำนวณจำนวนวันทำการระหว่างสองวัน โดยกำหนดวันหยุดสุดสัปดาห์ได้เอง ต่างจาก NETWORKDAYS ธรรมดาที่ล็อกวันหยุดไว้ที่เสาร์-อาทิตย์เท่านั้น
ที่มีประโยชน์คือรองรับทั้งรหัสตัวเลข (1-7 สำหรับหยุด 2 วัน, 11-17 สำหรับหยุด 1 วัน) และรูปแบบข้อความ 7 ตัวอักษรที่กำหนดวันหยุดเองแบบไม่ต้องติดกันก็ได้ ทำให้รองรับตารางงานของแทบทุกประเทศและทุกกะการทำงาน
ส่วนตัวผมใช้ฟังก์ชันนี้บ่อยตอนทำโปรเจกต์ที่มีทีมงานอยู่คนละประเทศ เช่น ทีมไทยหยุดเสาร์-อาทิตย์ แต่ทีมดูไบหยุดศุกร์-เสาร์ ต้องคำนวณ deadline หรือ SLA ให้ตรงปฏิทินทำงานจริงของแต่ละฝ่าย ไม่ใช่ปฏิทินไทยอย่างเดียว
นับวันทำงานตั้งแต่ 1-31 มกราคม 2025 โดยกำหนดรหัส 1 (หยุดเสาร์-อาทิตย์) ซึ่งเป็นค่า Default ตัวอักษรเทียบเท่า "0000011" ทั้งเดือน ม.ค. มี 31 วัน เสาร์ 4 วัน อาทิตย์ 4 วัน รวมวันหยุดสุดสัปดาห์ 8 วัน ดังนั้นวันทำงาน = 31 – 8 = 23 วัน
นับวันทำงานสำหรับโครงการในดูไบหรือซาอุดีอาระเบีย โดยใช้รหัส 7 (หยุดศุกร์-เสาร์) ตัวอักษรเทียบเท่า "0000110" สำหรับ Jan 2025 มี ศุกร์ 5 วัน เสาร์ 4 วัน รวม 9 วัน ดังนั้นวันทำงาน = 31 – 9 = 22 วัน (ต่างจากหยุดเสาร์-อาทิตย์ 1 วัน เพราะเปลี่ยนวันอาทิตย์ที่เคยหยุดให้กลับมาทำงาน แล้วย้ายไปหยุดศุกร์แทน)
นับวันทำงานโดยหยุดเพียงอาทิตย์เท่านั้น (รหัส 11) ทำงานจันทร์-เสาร์ 6 วัน/สัปดาห์ ตัวอักษรเทียบเท่า "0000001" สำหรับ Jan 2025 มี อาทิตย์ 4 วัน ดังนั้นวันทำงาน = 31 – 4 = 27 วัน เหมาะสำหรับโรงงาน โพสต์, หรือบริษัทที่ทำงานวันอาทิตย์
นับวันทำงานสำหรับพนักงานที่หยุดพุธและอาทิตย์ (ไม่ติดต่อกัน) โดยใช้รูปแบบข้อความ "0010001" (ตำแหน่งที่ 1=จันทร์ ถึง 7=อาทิตย์ โดย 1=หยุด 0=ทำงาน) ในเดือน ม.ค. 2025 มีพุธ 5 วัน (1, 8, 15, 22, 29) และอาทิตย์ 4 วัน รวมวันหยุด 9 วัน = 31 – 9 = 22 วันทำงาน
นับวันทำงานสำหรับบริษัททดลอง 4 วัน/สัปดาห์ โดยหยุดศุกร์-เสาร์-อาทิตย์ (3 วัน/สัปดาห์) ใช้รูปแบบข้อความ "0000111" ในเดือน ม.ค. 2025 มี ศุกร์ 5 วัน เสาร์ 4 วัน อาทิตย์ 4 วัน รวม 13 วัน ดังนั้นวันทำงาน = 31 – 13 = 18 วัน
นับวันทำงานพร้อมหักวันหยุดนักขัตฤกษ์ รหัส 1 (หยุดเสาร์-อาทิตย์) บวกวันหยุด 3 วัน (14 ม.ค., 20 ม.ค., 28 ม.ค.) ผลลัพธ์ = 23 วัน (base) – 3 วัน (holidays) = 20 วัน หมายเหตุ: ถ้าวันหยุดตรงกับวันหยุดสุดสัปดาห์ ระบบจะนับครั้งเดียวเท่านั้น
NETWORKDAYS ล็อกวันหยุดสุดสัปดาห์ไว้ที่เสาร์-อาทิตย์เท่านั้น ปรับเปลี่ยนไม่ได้ ส่วน NETWORKDAYS.INTL เพิ่มอาร์กิวเมนต์ [weekend] ให้กำหนดวันหยุดสุดสัปดาห์เองได้ทั้งแบบรหัสตัวเลขและรูปแบบข้อความ เหมาะกับงานข้ามประเทศที่ปฏิทินทำงานไม่เหมือนกัน
Excel จะคืนค่า #VALUE! ทันที รูปแบบข้อความต้องมีความยาวเป๊ะ 7 ตัวอักษร (แทนวันจันทร์ถึงอาทิตย์ตามลำดับ) และมีแต่เลข 0 กับ 1 เท่านั้น ถ้าใช้ตัวอักษรอื่นหรือความยาวไม่ครบก็ error เหมือนกัน
จะได้ error #NUM! เพราะ Excel รู้จักเฉพาะรหัส 1-7 (หยุด 2 วันติดกัน) และ 11-17 (หยุด 1 วัน) เท่านั้น ถ้าจำรหัสไม่ได้ให้ใช้รูปแบบข้อความ 7 ตัวอักษรแทนจะปลอดภัยกว่า
จะได้ผลลัพธ์เป็นจำนวนลบ เช่น นับจาก 31 ม.ค. ถึง 1 ม.ค. จะได้ค่าติดลบของจำนวนวันทำงานในช่วงนั้น ควรเช็คลำดับวันที่ก่อนเสมอ หรือครอบด้วย ABS ถ้าต้องการค่าสัมบูรณ์
จะได้ error #NUM! เพราะไม่มีวันทำงานเหลือให้นับเลยสักวัน ต้องเหลืออย่างน้อย 1 วันในสัปดาห์ที่เป็นวันทำงานเสมอ
ฟังก์ชันที่ผู้เขียนโยงไว้กับ NETWORKDAYS.INTL จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
DATE สร้างวันที่จากตัวเลขปี เดือน วัน แยกกัน รองรับการบวก/ลบเดือนที่เกิน 12 หรือค่าลบ และปรับวันที่ให้อัตโนมัติ เหมาะสำหรับสร้างวันที่จากสูตรหรือใช้ในเงื่อนไข SUMIFS COUNTIFS AVERAGEIFS
ส่งกลับจำนวนวันระหว่างวันที่สองวัน (จบ – เริ่ม) คำนวณผลต่างของวันที่อย่างง่ายดาย
NETWORKDAYS นับจำนวนวันทำงานทั้งหมด (ไม่นับเสาร์-อาทิตย์) ระหว่างวันที่สองวัน และสามารถหักวันหยุดนักขัตฤกษ์ออกได้ เหมาะสำหรับคำนวณระยะเวลาโปรเจกต์, ลาของพนักงาน, หรือเดือนวันทำงาน
TODAY คืนค่า Serial Number ของวันที่ปัจจุบันตามเวลาของเครื่องคอมพิวเตอร์ โดยเวลาจะเป็น 0:00:00 เสมอ
.
ที่เจ๋งคือฟังก์ชันนี้เป็นประเภท Volatile ที่จะคำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใดๆ ในชีท ที่ต้องระวังคือไม่เหมาะกับการบันทึกวันที่ทำรายการ (Transaction Date) ที่ต้องการให้คงที่ครับ เพราะมันจะเปลี่ยนทุกครั้งที่เปิดไฟล์
WORKDAY คำนวณวันที่ทำงานที่อยู่ถัดไป/ย้อนหลังจากวันที่เริ่มต้น โดยหักวันหยุดสุดสัปดาห์ (เสาร์-อาทิตย์) และวันหยุดพิเศษที่ระบุออก
คำนวณหาวันที่หลังจากนับไป n วันทำการ โดยสามารถกำหนดว่าวันไหนเป็นวันหยุดสุดสัปดาห์ได้ (เหมาะสำหรับการค้นหาวันกำหนด deadline, วันนัดหมาย, วันส่งมอบสินค้า ในประเทศต่างๆ ที่มีวันทำงานแตกต่างกัน) รองรับทั้งรูปแบบตัวเลข (1-7, 11-17) และรูปแบบข้อความ (7 ตัวอักษร) สำหรับความยืดหยุ่นสูงสุด
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่