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