Thep Excel

WORKDAY.INTLหาวันที่นัดหมาย (กำหนดวันหยุดได้)

คำนวณหาวันที่หลังจากนับไป n วันทำการ โดยสามารถกำหนดว่าวันไหนเป็นวันหยุดสุดสัปดาห์ได้ (เหมาะสำหรับการค้นหาวันกำหนด deadline, วันนัดหมาย, วันส่งมอบสินค้า ในประเทศต่างๆ ที่มีวันทำงานแตกต่างกัน) รองรับทั้งรูปแบบตัวเลข (1-7, 11-17) และรูปแบบข้อความ (7 ตัวอักษร) สำหรับความยืดหยุ่นสูงสุด

fx
=WORKDAY.INTL(start_date, days, [weekend], [holidays])

ความนิยม5/10
ความยาก5/10
ประโยชน์8/10

อัปเดต 2 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
start_date Date วันที่เริ่ม
days Number จำนวนวันทำการที่ต้องการนับไป
[weekend]ไม่บังคับ Number/Text 1 รหัสหรือข้อความที่ระบุว่าวันไหนเป็นวันหยุดสุดสัปดาห์ (Default = 1 หรือ “0000011” = เสาร์-อาทิตย์)

📌 รูปแบบตัวเลข (Numeric Codes):

🔹 หยุด 2 วัน (Codes 1-7):
1 = เสาร์-อาทิตย์ (Default, ปกติไทย, ตะวันตก) {1,7}
2 = อาทิตย์-จันทร์ {7,1}
3 = จันทร์-อังคาร {1,2}
4 = อังคาร-พุธ {2,3}
5 = พุธ-พฤหัสบดี {3,4}
6 = พฤหัสบดี-ศุกร์ {4,5}
7 = ศุกร์-เสาร์ (มัธยมอยต์, ดูไบ, ซาอุดีอาระเบีย) {6,7}

🔹 หยุด 1 วัน (Codes 11-17):
11 = อาทิตย์เท่านั้น {7}
12 = จันทร์เท่านั้น {1}
13 = อังคารเท่านั้น {2}
14 = พุธเท่านั้น {3}
15 = พฤหัสบดีเท่านั้น {4}
16 = ศุกร์เท่านั้น {5}
17 = เสาร์เท่านั้น {6}

📌 รูปแบบข้อความ (String Format – 7 ตัวอักษร):
ระบุวันหยุดเป็น “0” (ทำงาน) หรือ “1” (หยุด) ตามลำดับ จันทร์-อาทิตย์
ตัวอย่าง:
“0000011” = หยุดเสาร์-อาทิตย์ (เทียบเท่า Code 1)
“0000101” = หยุดศุกร์และอาทิตย์ (แยกกัน, หยุดไม่ติดต่อกัน)
“0000111” = หยุดศุกร์-เสาร์-อาทิตย์ (หยุด 3 วัน)
“0010001” = หยุดพุธและอาทิตย์ (custom schedule)

💡 เทคนิค: ใช้ IF หรือ CHOOSE เพื่อเลือก weekend code ตามประเทศ

[holidays]ไม่บังคับ Range/Array – วันหยุดนักขัตฤกษ์

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

ฟังก์ชัน WORKDAY.INTL ใน Excel ช่วยคำนวณหาวันที่ที่นับไปอีก n วันทำการ โดยกำหนดวันหยุดสุดสัปดาห์ได้เอง

Examples

ตัวอย่างที่ 1: หาวันครบกำหนด 10 วันทำการ (หยุดเสาร์-อาทิตย์)WORKDAY.INTL("2025-01-13", 10, 1)

13 ม.ค. 2025 เป็นวันจันทร์ นับไปข้างหน้า 10 วันทำการโดยข้ามเสาร์-อาทิตย์ทุกสัปดาห์ (รหัส 1) สัปดาห์แรกได้ อ.14-ศ.17 = 4 วัน สัปดาห์ถัดไปได้ จ.20-ศ.24 = 5 วัน รวม 9 วัน วันที่ 10 คือ จ.27 ม.ค. ข้อสังเกตสำคัญ: WORKDAY.INTL ไม่นับวันเริ่มต้นเป็นวันทำการ นับเฉพาะวันถัดจาก start_date เท่านั้น

fx
=WORKDAY.INTL("2025-01-13", 10, 1)

ผลลัพธ์2025-01-27
ตัวอย่างที่ 2: คำนวณวันส่งมอบตามปฏิทินตะวันออกกลาง (หยุดศุกร์-เสาร์)WORKDAY.INTL("2025-01-13", 5, 7)

ออฟฟิศสาขาดูไบหยุดศุกร์-เสาร์แทนเสาร์-อาทิตย์ (รหัส 7) จากจันทร์ 13 นับวันทำการ: อ.14, พ.15, พฤ.16 (ข้าม ศ.17-ส.18 เพราะเป็นวันหยุด), อา.19, จ.20 = ครบ 5 วัน ผลลัพธ์คือจันทร์ 20 ม.ค. ถ้าใช้รหัส 1 (หยุดเสาร์-อาทิตย์) แบบเดิม คำตอบจะเป็นคนละวันทันที นี่คือเหตุผลที่ต้องระบุ weekend ให้ตรงกับปฏิทินของประเทศคู่ค้า

fx
=WORKDAY.INTL("2025-01-13", 5, 7)

ผลลัพธ์2025-01-20
ตัวอย่างที่ 3: ปิดยอดโรงงานที่ทำงาน 6 วัน/สัปดาห์ (หยุดอาทิตย์เท่านั้น)WORKDAY.INTL("2025-01-13", 6, 11)

โรงงานหยุดเฉพาะวันอาทิตย์ (รหัส 11 = หยุด 1 วัน) จากจันทร์ 13 นับวันทำการ: อ.-ส. 14-18 (5 วัน, ข้ามอาทิตย์ 19), แล้วต่อจันทร์ 20 = วันที่ 6 ผลลัพธ์คือจันทร์ 20 ม.ค. เทียบกับตัวอย่างที่ 1 (หยุด 2 วัน) จะเห็นว่ายิ่งหยุดน้อยวัน ระยะเวลาที่ใช้จริง (ปฏิทิน) ยิ่งสั้นกว่าที่คนทั่วไปคาดคิด

fx
=WORKDAY.INTL("2025-01-13", 6, 11)

ผลลัพธ์2025-01-20
ตัวอย่างที่ 4: ตารางหยุดแบบกำหนดเอง ไม่ติดกัน (หยุดพุธและอาทิตย์)WORKDAY.INTL("2025-01-13", 7, "0010001")

พนักงานกะพิเศษหยุดวันพุธและอาทิตย์ (ไม่ติดกัน) จึงต้องใช้รูปแบบข้อความ "0010001" (ตำแหน่งที่ 3 = พุธ, ตำแหน่งที่ 7 = อาทิตย์ เป็น 1) แทนรหัสตัวเลขที่รองรับเฉพาะวันหยุดติดกันหรือวันเดียว จากจันทร์ 13 นับวันทำการ: อ.14, พฤ.16, ศ.17, ส.18, จ.20, อ.21, พ.22-ข้ามเพราะหยุด กลับมานับ พฤ.23 = ครบ 7 วัน ผลลัพธ์คือพฤหัสบดี 23 ม.ค.

fx
=WORKDAY.INTL("2025-01-13", 7, "0010001")

ผลลัพธ์2025-01-23
ตัวอย่างที่ 5: วันส่งมอบ 20 วันทำการ หักวันหยุดนักขัตฤกษ์ 2 วันWORKDAY.INTL("2025-01-13", 20, 1, {"2025-01-20","2025-02-03"})

ฝ่ายจัดซื้อกำหนดส่งมอบ 20 วันทำการ (หยุดเสาร์-อาทิตย์ตามปกติ) แต่มีวันหยุดนักขัตฤกษ์แทรก 2 วันคือ 20 ม.ค. และ 3 ก.พ. ซึ่งทั้งสองวันนี้ตรงกับวันจันทร์ที่ปกติเป็นวันทำการอยู่แล้ว ฟังก์ชันจึงข้ามไปนับวันถัดไปแทน ทำให้วันครบกำหนดขยับออกไปอีก 2 วันจนถึง 12 ก.พ. — อาร์กิวเมนต์ holidays ต้องใส่ทุกครั้งที่มีวันหยุดพิเศษ ไม่งั้นวันที่คำนวณได้จะคลาดเคลื่อนจริง

fx
=WORKDAY.INTL("2025-01-13", 20, 1, {"2025-01-20","2025-02-03"})

ผลลัพธ์2025-02-12

FAQs

WORKDAY.INTL ต่างจาก WORKDAY ธรรมดายังไง?+

WORKDAY นับวันหยุดสุดสัปดาห์เป็นเสาร์-อาทิตย์ตายตัว เปลี่ยนไม่ได้ ส่วน WORKDAY.INTL เพิ่มอาร์กิวเมนต์ weekend เข้ามา ให้กำหนดวันหยุดเองได้ทั้งแบบหยุด 1 วัน 2 วัน หรือวันไม่ติดกัน เหมาะกับบริษัทที่ทำงานกับสาขาต่างประเทศที่วันหยุดสุดสัปดาห์ไม่ตรงกับไทย ถ้าใช้ปฏิทินไทยปกติ ใช้ WORKDAY ก็พอ ไม่จำเป็นต้องเปลี่ยนมาใช้ .INTL

ทำไมใส่ weekend เป็น "0000011" แล้วได้ #VALUE!?+

ตรวจ 2 จุด: (1) ต้องมี 7 ตัวอักษรพอดี ประกอบด้วย 0 กับ 1 เท่านั้น และต้องมีเลข 0 อย่างน้อย 1 ตัว (หยุดทุกวันไม่ได้) (2) ลำดับตัวอักษรคือ จันทร์-อังคาร-พุธ-พฤหัสบดี-ศุกร์-เสาร์-อาทิตย์เสมอ ไม่ใช่เริ่มจากอาทิตย์แบบปฏิทินไทยทั่วไป คนมักเข้าใจผิดว่าตัวแรกคืออาทิตย์แล้วนับผิดตำแหน่ง

WORKDAY.INTL นับรวมวันเริ่มต้น (start_date) เป็นวันทำการไหม?+

ไม่นับ ฟังก์ชันเริ่มนับจากวันถัดจาก start_date เสมอ ต่อให้ start_date เป็นวันทำการก็ตาม นี่คือจุดที่คนสับสนกับ NETWORKDAYS.INTL ซึ่งนับรวมทั้งวันเริ่มต้นและวันสิ้นสุด ถ้าเอาสองฟังก์ชันมาเทียบกันตรงๆ ตัวเลขวันจะไม่ตรงกันโดยธรรมชาติ ไม่ใช่ฟังก์ชันผิด

ใส่ holidays แล้วยังได้วันที่ผิด ต้องเช็คอะไรบ้าง?+

เช็ค 3 อย่าง: เซลล์ที่อ้างอิงเป็น date จริงหรือ text (ถ้าเป็น text ฟังก์ชันจะไม่ตัดวันหยุดออกให้ และมักไม่ error ด้วย ทำให้หลงเชื่อว่าคำนวณถูกทั้งที่ผิด), ใส่วันหยุดครบทุกวันในช่วงที่คำนวณจริงหรือไม่ (ถ้าวันหยุดตกอยู่นอกช่วงที่ผลลัพธ์ครอบคลุม ฟังก์ชันจะไม่หักให้), และ range ที่ใส่มีเซลล์ว่างปนอยู่หรือเปล่า (เซลล์ว่างไม่ทำให้ error แต่ก็ไม่มีผลอะไร ไม่ใช่ตัวปัญหา)

WORKDAY.INTL มีใน Excel เวอร์ชันไหนบ้าง?+

ใช้ได้ตั้งแต่ Excel 2010 เป็นต้นไป (รวม Excel 365, Excel for web, Excel Mobile) ถ้าเปิดไฟล์ที่มีสูตรนี้ใน Excel 2007 หรือเก่ากว่า สูตรจะกลายเป็น #NAME? ทันทีเพราะเวอร์ชันนั้นไม่รู้จักฟังก์ชันนี้ ถ้าต้องแชร์ไฟล์กับคนที่ยังใช้ Excel เก่า ให้ใช้ WORKDAY ธรรมดาแทนถ้าไม่จำเป็นต้องกำหนดวันหยุดเอง

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ WORKDAY.INTL จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้WORKDAY.INTLDate and Time
Date and Time (4)
DATE

DATE สร้างวันที่จากตัวเลขปี เดือน วัน แยกกัน รองรับการบวก/ลบเดือนที่เกิน 12 หรือค่าลบ และปรับวันที่ให้อัตโนมัติ เหมาะสำหรับสร้างวันที่จากสูตรหรือใช้ในเงื่อนไข SUMIFS COUNTIFS AVERAGEIFS

NETWORKDAYS.INTL

คำนวณจำนวนวันทำการระหว่างสองวัน โดยสามารถกำหนดว่าวันไหนเป็นวันหยุดสุดสัปดาห์ได้เอง (มีประโยชน์กับประเทศต่างๆ ที่มีเวลาทำงานแตกต่างกัน เช่น ดูไบอาทิตย์-จันทร์ หรือ มาเลเซีย ศุกร์-เสาร์) รองรับทั้งรูปแบบตัวเลข (1-7, 11-17) และรูปแบบข้อความ (7 ตัวอักษร) สำหรับความยืดหยุ่นสูงสุด

TODAY

TODAY คืนค่า Serial Number ของวันที่ปัจจุบันตามเวลาของเครื่องคอมพิวเตอร์ โดยเวลาจะเป็น 0:00:00 เสมอ
.
ที่เจ๋งคือฟังก์ชันนี้เป็นประเภท Volatile ที่จะคำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใดๆ ในชีท ที่ต้องระวังคือไม่เหมาะกับการบันทึกวันที่ทำรายการ (Transaction Date) ที่ต้องการให้คงที่ครับ เพราะมันจะเปลี่ยนทุกครั้งที่เปิดไฟล์

WORKDAY

WORKDAY คำนวณวันที่ทำงานที่อยู่ถัดไป/ย้อนหลังจากวันที่เริ่มต้น โดยหักวันหยุดสุดสัปดาห์ (เสาร์-อาทิตย์) และวันหยุดพิเศษที่ระบุออก

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่