บทความนี้จะอธิบายเกี่ยวกับไวยากรณ์ของสูตรและการใช้ฟังก์ชัน WORKDAY.INTL ใน Microsoft Excel
ส่งกลับเลขลำดับของวันที่ก่อนหรือหลังจำนวนวันทำงานที่ระบุโดยใช้พารามิเตอร์วันหยุดสุดสัปดาห์แบบกำหนดเอง พารามิเตอร์วันหยุดสุดสัปดาห์จะระบุวันและจำนวนวันที่เป็นวันหยุดสุดสัปดาห์ วันหยุดสุดสัปดาห์และวันใดๆ ที่กำหนดว่าเป็นวันหยุดจะไม่ถือว่าเป็นวันทำงาน
ไวยากรณ์
WORKDAY.INTL(start_date, days, [weekend], [holidays])
ไวยากรณ์ของฟังก์ชัน WORKDAY.INTL มีอาร์กิวเมนต์ดังนี้
-
Start_date (ต้องระบุ) คือวันที่เริ่มต้น ตัดทศนิยมทิ้งให้เป็นจำนวนเต็ม
-
Days (ต้องระบุ) คือจำนวนวันทำงานก่อนหรือหลัง start_date ค่าที่เป็นบวกจะให้ผลเป็นวันที่ในอนาคต ค่าที่เป็นลบจะให้ผลเป็นวันที่ในอดีต ค่าที่เป็นศูนย์จะให้ผลเป็น start_date ส่วน Day-offset ถูกตัดเศษทิ้งเป็นจำนวนเต็ม
-
Weekend (ระบุหรือไม่ก็ได้) ระบุวันในสัปดาห์ที่เป็นวันหยุดสุดสัปดาห์และไม่ถือว่าเป็นวันทำงาน weekend คือตัวเลขหรือสตริงวันหยุดสุดสัปดาห์ที่ระบุว่าวันหยุดสุดสัปดาห์เกิดขึ้นเมื่อใด
ค่าของตัวเลขของ Weekend จะระบุวันของวันหยุดสุดสัปดาห์ดังนี้
วันหยุดสุดสัปดาห์-ตัวเลข |
วันของวันหยุดสุดสัปดาห์ |
1 หรือละไว้ |
วันเสาร์, วันอาทิตย์ |
2 |
วันอาทิตย์, วันจันทร์ |
3 |
วันจันทร์, วันอังคาร |
4 |
วันอังคาร, วันพุธ |
5 |
วันพุธ, วันพฤหัสบดี |
6 |
วันพฤหัสบดี, วันศุกร์ |
7 |
วันศุกร์, วันเสาร์ |
11 |
เฉพาะวันอาทิตย์เท่านั้น |
1.2 |
เฉพาะวันจันทร์เท่านั้น |
1.3 |
เฉพาะวันอังคารเท่านั้น |
14 |
เฉพาะวันพุธเท่านั้น |
15 |
เฉพาะวันพฤหัสบดีเท่านั้น |
16 |
เฉพาะวันศุกร์เท่านั้น |
17 |
เฉพาะวันเสาร์เท่านั้น |
ค่าสตริงของ Weekend จะมีความยาวเจ็ดอักขระ และอักขระแต่ละตัวในสตริงจะแทนวันในสัปดาห์โดยเริ่มจากวันจันทร์ 1 จะแทนวันที่ไม่ใช่วันทำงานและ 0 จะแทนวันทำงาน โดยอนุญาตให้ใช้เฉพาะอักขระ 1 และ 0 เท่านั้นในสตริงนี้ 1111111 เป็นสตริงที่ไม่ถูกต้อง
ตัวอย่างเช่น 0000011 จะให้ผลลัพธ์ว่าวันหยุดสุดสัปดาห์คือวันเสาร์และวันอาทิตย์
-
Holidays (ระบุหรือไม่ก็ได้) ชุดของวันที่อย่างน้อยหนึ่งวันที่จะไม่รวมในปฏิทินวันทำงาน โดยเป็นค่าจะระบุหรือไม่ก็ได้ วันหยุดอาจเป็นช่วงของเซลล์ที่มีวันที่ หรือค่าคงที่อาร์เรย์ของค่าอนุกรมที่ใช้แสดงวันที่เหล่านี้ ลำดับของวันที่หรือค่าอนุกรมของวันหยุดสามารถกำหนดเองได้
ข้อสังเกต
-
ถ้า start_date เป็นค่าที่อยู่นอกช่วงสำหรับค่าฐานของวันที่ในปัจจุบัน ฟังก์ชัน WORKDAY.INTL จะส่งกลับ #NUM! เป็นค่าความผิดพลาด
-
ถ้าวันใดๆ ในวันหยุดอยู่นอกช่วงสำหรับค่าฐานวันที่ปัจจุบัน WORKDAY.INTL จะส่งกลับ #NUM! เป็นค่าความผิดพลาด
-
ถ้า start_date รวมกับ day-offset ได้ผลลัพธ์เป็นวันที่ที่ไม่ถูกต้อง ฟังก์ชัน WORKDAY.INTL จะส่งกลับ #NUM! เป็นค่าความผิดพลาด
-
ถ้าสตริง Weekend มีความยาวไม่ถูกต้อง หรือมีอักขระที่ไม่ถูกต้อง ฟังก์ชัน WORKDAY.INTL จะส่งกลับค่า #VALUE! เป็นค่าความผิดพลาด
ตัวอย่าง
คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ เพื่อให้สูตรแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter ถ้าต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมด
สูตร |
คำอธิบาย |
ผลลัพธ์แบบทันที |
=WORKDAY.INTL(DATE(2012,1,1),30,0) |
การใช้ 0 สำหรับอาร์กิวเมนต์ Weekend จะทำให้ได้ผลลัพธ์ #NUM! เป็นข้อผิดพลาด |
#NUM! |
=WORKDAY.INTL(DATE(2012,1,1),90,11) |
ค้นหาวันทำงานวันที่ 90 จาก 1/1/2012 โดยนับวันอาทิตย์เป็นวันหยุดสุดสัปดาห์เท่านั้น (อาร์กิวเมนต์ Weekend คือ 11) |
41013 |
=TEXT(WORKDAY.INTL(DATE(2012,1,1),30,17),"m/dd/yyyy") |
ใช้ฟังก์ชัน TEXT เพื่อจัดรูปแบบเลขลำดับที่เป็นผลลัพธ์ (40944) ให้อยู่ในรูปแบบ "m/dd/yyyy" ค้นหาวันทำงานวันที่ 30 จาก 1/1/2012 โดยนับวันเสาร์เป็นวันหยุดสุดสัปดาห์เท่านั้น (อาร์กิวเมนต์ Weekend คือ 17) |
05/2/2012 |