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