บทความนี้จะอธิบายเกี่ยวกับไวยากรณ์ของสูตรและการใช้ฟังก์ชัน WORKDAY.INTL ใน Microsoft Excel
ส่งกลับเลขลําดับของวันที่ก่อนหรือหลังจํานวนวันทํางานที่ระบุด้วยพารามิเตอร์วันหยุดสุดสัปดาห์แบบกําหนดเอง พารามิเตอร์ Weekend จะระบุวันและจํานวนวันที่เป็นวันหยุดสุดสัปดาห์ วันหยุดสุดสัปดาห์และวันใดๆ ที่ระบุเป็นวันหยุดจะไม่ถือว่าเป็นวันทํางาน
ไวยากรณ์
WORKDAY.INTL(start_date, days, [weekend], [holidays])
ไวยากรณ์ของฟังก์ชัน WORKDAY.INTL มีอาร์กิวเมนต์ดังนี้
-
Start_date จำเป็น วันที่เริ่มต้น ถูกตัดเศษทิ้งเป็นจํานวนเต็ม
-
วัน จำเป็น จํานวนของวันทํางานก่อนหรือหลัง start_date ค่าบวกจะให้ผลลัพธ์เป็นวันที่ในอนาคต ค่าลบจะให้ผลลัพธ์เป็นวันที่ในอดีต ค่าศูนย์จะให้ผลเป็น start_date ออฟเซตวันจะถูกปัดเศษเป็นจํานวนเต็ม
-
วันสุดสัปดาห์ ไม่จำเป็น ระบุวันในสัปดาห์ที่เป็นวันหยุดสุดสัปดาห์และไม่ถือว่าเป็นวันทํางาน 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 จะให้ผลลัพธ์ว่าวันหยุดสุดสัปดาห์คือวันเสาร์และวันอาทิตย์
-
วัน หยุด ไม่จำเป็น ชุดตัวเลือกของวันที่อย่างน้อยหนึ่งวันที่ที่จะไม่รวมในปฏิทินวันทํางาน วันหยุดอาจเป็นช่วงของเซลล์ที่มีวันที่ หรือค่าคงที่อาร์เรย์ของค่าอนุกรมที่แสดงวันที่เหล่านั้น ลําดับของวันที่หรือค่าอนุกรมในวันหยุดสามารถเป็นได้ตามอําเภอใจ
ข้อสังเกต
-
ถ้า 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/2555 โดยนับวันเสาร์เป็นวันหยุดสุดสัปดาห์เท่านั้น (อาร์กิวเมนต์ Weekend คือ 17) |
05/2/2012 |