ฟังก์ชัน NETWORKDAYS.INTL

นำไปใช้กับ
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Excel Web App

ส่งกลับค่าตัวเลขของจํานวนวันทํางานทั้งหมดระหว่างวันที่สองวันโดยใช้พารามิเตอร์เพื่อระบุวันและจํานวนวันที่เป็นวันหยุดสุดสัปดาห์ วันหยุดสุดสัปดาห์และวันใดๆ ที่กําหนดว่าเป็นวันหยุดจะไม่ถือว่าเป็นวันทํางาน

ไวยากรณ์

NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])

ไวยากรณ์ของฟังก์ชัน NETWORKDAYS.INTL มีอาร์กิวเมนต์ดังนี้

  • Start_date และ end_date จําเป็น วันที่ที่จะทําการคํานวณผลต่างนี้ start_date สามารถอยู่ก่อน เหมือนกัน หรืออยู่หลัง end_date ก็ได้
  • วันหยุดสุดสัปดาห์ ไม่บังคับ ระบุวันของสัปดาห์ที่เป็นวันหยุดสุดสัปดาห์ และไม่รวมอยู่ในจํานวนของวันทํางานทั้งหมดระหว่าง start_date ถึง end_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 จะส่งกลับค่า 0 เสมอ

ตัวอย่างเช่น 0000011 จะให้ผลลัพธ์ว่าวันหยุดสุดสัปดาห์คือวันเสาร์และวันอาทิตย์

  • วันหยุด ไม่บังคับ ชุดของวันที่อย่างน้อยหนึ่งวันที่จะไม่รวมในปฏิทินวันทํางาน โดยจะระบุหรือไม่ก็ได้ วันหยุดอาจเป็นช่วงของเซลล์ที่มีวันที่ หรือค่าคงที่อาร์เรย์ของค่าอนุกรมที่แสดงวันที่เหล่านี้ ลําดับของวันที่หรือค่าอนุกรมของวันหยุดสามารถกําหนดเองได้

ข้อสังเกต

  • ถ้า start_date อยู่หลัง end_date ค่าที่ส่งกลับจะเป็นค่าลบ และขนาดของค่าจะเป็นจำนวนวันทำงานทั้งหมด
  • ถ้า start_date เป็นค่าที่อยู่นอกช่วงสำหรับค่าฐานวันที่ปัจจุบัน ฟังก์ชัน NETWORKDAYS.INTL จะส่งกลับค่า #NUM! เป็นค่าความผิดพลาด
  • ถ้า end_date เป็นค่าที่อยู่นอกช่วงสำหรับค่าฐานวันที่ปัจจุบัน ฟังก์ชัน NETWORKDAYS.INTL จะส่งกลับค่า #NUM! เป็นค่าความผิดพลาด
  • ถ้าสตริง Weekend มีความยาวไม่ถูกต้อง หรือมีอักขระที่ไม่ถูกต้อง ฟังก์ชัน NETWORKDAYS.INTL จะส่งกลับค่า #VALUE! เป็นค่าความผิดพลาด

ตัวอย่าง

คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ สำหรับสูตรที่จะแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter ถ้าคุณต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้

สูตร คำอธิบาย ผลลัพธ์
=NETWORKDAYS.INTL(DATE(2006,1,1),DATE(2006,1,31)) ผลลัพธ์เป็นวันทํางานในอนาคต 22 วัน ลบวันหยุดสุดสัปดาห์ที่ไม่ทํางาน 9 วัน (วันเสาร์ 5 วันและวันอาทิตย์ 4 วัน) จากจํานวนวันทั้งหมด 31 วันระหว่างวันที่สองวันที่ ตามค่าเริ่มต้น วันเสาร์และวันอาทิตย์ถือว่าเป็นวันที่ไม่ทํางาน 22
=NETWORKDAYS.INTL(DATE(2006,2,28),DATE(2006,1,31)) ผลลัพธ์เป็น -21 ซึ่งเป็นวันทำงาน 21 วันในอดีต -21
=NETWORKDAYS.INTL(DATE(2006,1,1),DATE(2006,2,1),7,{"2006/1/2","2006/1/16"}) ผลลัพธ์เป็นวันทํางานในอนาคต 22 วันโดยการลบวันที่ไม่ใช่วันทํางาน 10 วัน (วันศุกร์ 4 วัน วันเสาร์ 4 วัน วันหยุด 2 วัน) จาก 32 วันระหว่างวันที่ 1 มกราคม 2549 และ 1 กุมภาพันธ์ 2549 ใช้อาร์กิวเมนท์ 7 สําหรับวันหยุดสุดสัปดาห์ ซึ่งคือวันศุกร์และวันเสาร์ นอกจากนี้ยังมีวันหยุดสองวันในช่วงเวลานี้ 22
=NETWORKDAYS.INTL(DATE(2006,1,1),DATE(2006,2,1),"0010001",{"2006/1/2","2006/1/16"}) ผลลัพธ์เป็นวันทํางานในอนาคต 22 วัน ช่วงเวลาเดียวกับตัวอย่างข้างบน แต่มีวันอาทิตย์และวันพุธที่เป็นวันหยุดสุดสัปดาห์ 20