หน้าแรก บทความ Microsoft
Microsoft

นับวันทำงานใน Excel หักวันหยุดนักขัตฤกษ์ไทย ด้วย NETWORKDAYS

เผยแพร่ 29 ส.ค. 69

เวลาคิดจำนวนวันลา วันทำงานในเดือน หรือกำหนดส่งงานแบบ “อีก 10 วันทำการ” เราต้องตัดเสาร์-อาทิตย์ และวันหยุดนักขัตฤกษ์ออก สูตร NETWORKDAYS ทำให้อัตโนมัติ แค่เตรียมตารางวันหยุดไทยไว้ให้มันอ่าน บทความนี้จะสอนตั้งแต่สร้างตารางวันหยุด ไปจนถึงสูตรที่ใช้ได้จริงในงานเงินเดือนและงานวางแผน

รูปแบบของสูตร

=NETWORKDAYS(วันเริ่ม, วันสิ้นสุด, [ช่วงวันหยุด]) — นับวันจันทร์–ศุกร์ แล้วหักวันในลิสต์วันหยุด
=NETWORKDAYS.INTL(วันเริ่ม, วันสิ้นสุด, [รหัสวันหยุดสุดสัปดาห์], [ช่วงวันหยุด]) — กำหนดเองได้ว่าวันไหนคือวันหยุดสุดสัปดาห์

ขั้นแรก: สร้างตารางวันหยุด

ใส่วันหยุดราชการลงคอลัมน์เดียว (แนะนำให้ทำเป็น ตาราง / Table ชื่อ Holiday จะได้ขยายเองเมื่อเพิ่มปี) ตัวอย่างวันหยุดคงที่

วันที่ วันหยุด
1 ม.ค. 2026 วันขึ้นปีใหม่
13–15 เม.ย. 2026 สงกรานต์
5 ธ.ค. 2026 วันคล้ายวันพระราชสมภพ ร.9 / วันพ่อ
10 ธ.ค. 2026 วันรัฐธรรมนูญ
31 ธ.ค. 2026 วันสิ้นปี

วันหยุดที่อิงปฏิทินจันทรคติ (มาฆบูชา วิสาขบูชา อาสาฬหบูชา เข้าพรรษา) และวันหยุดชดเชย ต้องดูจากประกาศสำนักนายกรัฐมนตรีของแต่ละปี แล้วเพิ่มลงตารางเอง — ใส่วันหยุดชดเชยเป็นอีกแถวได้เลย

ตัวอย่างที่ 1: นับวันลาที่ใช้ไป (ไม่รวมวันหยุด)

C2fx=NETWORKDAYS(A2, B2, Holiday[วันที่])
A B C
1 ลาตั้งแต่ ถึงวันที่ วันลา (วันทำการ)
2 10/04/2026 17/04/2026 3

ช่วง 10–17 เม.ย. มี 8 วัน หัก เสาร์-อาทิตย์ (11–12 เม.ย.) และสงกรานต์ (13–15 เม.ย.) เหลือวันลาจริง 3 วัน NETWORKDAYS นับรวมทั้งวันเริ่มและวันสิ้นสุด

ตัวอย่างที่ 2: จำนวนวันทำงานในเดือน (สำหรับคิดเงินเดือน)

B2fx=NETWORKDAYS(EOMONTH(A2,-1)+1, EOMONTH(A2,0), Holiday[วันที่])
A B
1 เดือนอ้างอิง วันทำงาน
2 01/04/2026 19

EOMONTH หาวันสิ้นเดือน และ EOMONTH(A2,-1)+1 คือวันแรกของเดือน เมษายน 2026 มี 30 วัน หักเสาร์-อาทิตย์และสงกรานต์ เหลือประมาณ 19 วันทำงาน

ตัวอย่างที่ 3: กำหนดส่งงาน “อีก 10 วันทำการ”

B2fx=WORKDAY(A2, 10, Holiday[วันที่])
A B
1 วันที่รับงาน ครบกำหนด
2 08/04/2026 27/04/2026

WORKDAY นับไปข้างหน้า 10 วันทำการจากวันรับงาน โดยข้ามเสาร์-อาทิตย์และวันหยุดในตาราง

ตัวอย่างที่ 4: ร้านเปิดจันทร์–เสาร์ (หยุดแค่อาทิตย์)

C2fx=NETWORKDAYS.INTL(A2, B2, "0000001", Holiday[วันที่])
A B C
1 ตั้งแต่ ถึง วันเปิดร้าน
2 01/04/2026 30/04/2026 23

รหัส "0000001" คือ 7 หลักแทนวันจันทร์ถึงอาทิตย์ เลข 1 = หยุด ในที่นี้หยุดแค่วันอาทิตย์ ดูรหัสรูปแบบอื่นได้ที่ NETWORKDAYS.INTL

ข้อควรรู้

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line