สารบัญ
หากคุณกำลังมองหาฟังก์ชัน Excel เพื่อรับวันในสัปดาห์จากวันที่ คุณมาถูกที่แล้ว บทช่วยสอนนี้จะสอนวิธีใช้สูตร WEEKDAY ใน Excel เพื่อแปลงวันที่เป็นชื่อวันในสัปดาห์ กรอง ไฮไลต์และนับวันหยุดสุดสัปดาห์หรือวันทำงาน และอื่นๆ อีกมากมาย
มีฟังก์ชันหลากหลายให้ ทำงานกับวันที่ใน Excel ฟังก์ชันวันในสัปดาห์ (WEEKDAY) มีประโยชน์อย่างยิ่งสำหรับการวางแผนและกำหนดเวลา เช่น เพื่อกำหนดกรอบเวลาของโครงการและนำวันหยุดสุดสัปดาห์ออกจากยอดรวมโดยอัตโนมัติ มาดูตัวอย่างทีละตัวอย่างและดูว่าสิ่งเหล่านี้สามารถช่วยคุณจัดการกับงานที่เกี่ยวข้องกับวันที่ต่างๆ ใน Excel ได้อย่างไร
วันธรรมดา - ฟังก์ชันของ Excel สำหรับวันที่ สัปดาห์
ฟังก์ชัน WEEKDAY ของ Excel ใช้เพื่อส่งคืนวันในสัปดาห์จากวันที่ที่กำหนด
ผลลัพธ์เป็นจำนวนเต็ม ตั้งแต่ 1 (วันอาทิตย์) ถึง 7 (วันเสาร์) ตามค่าเริ่มต้น . ถ้าตรรกะทางธุรกิจของคุณต้องการการแจงนับที่แตกต่างกัน คุณสามารถกำหนดค่าสูตรให้เริ่มนับวันอื่นในสัปดาห์
ฟังก์ชัน WEEKDAY มีอยู่ใน Excel 365 ทุกรุ่นจนถึงปี 2000
ไวยากรณ์ของฟังก์ชัน WEEKDAY เป็นดังนี้:
Where:
Serial_number (จำเป็น) - วันที่ที่คุณต้องการแปลง ไปที่หมายเลขวันธรรมดา สามารถระบุเป็นหมายเลขซีเรียลที่แสดงวันที่ เป็นสตริงข้อความในรูปแบบที่ Excel เข้าใจ เป็นการอ้างอิงถึงเซลล์ที่มีวันที่ หรือโดยใช้ฟังก์ชัน DATE
Return_type (ไม่บังคับ) - กำหนดวันในสัปดาห์ที่จะใช้เป็นวันแรก . หากละเว้น ค่าเริ่มต้นจะเป็นสัปดาห์อาทิตย์-เสาร์
นี่คือรายการของค่า return_type ที่รองรับทั้งหมด:
Return_type | หมายเลขที่ส่งคืน |
---|---|
1 หรือไม่ระบุ | ตั้งแต่ 1 (วันอาทิตย์) ถึง 7 (วันเสาร์) |
2 | ตั้งแต่ 1 (วันจันทร์) ถึง 7 (วันอาทิตย์) |
3 | ตั้งแต่ 0 (วันจันทร์) ถึง 6 (วันอาทิตย์) |
11 | ตั้งแต่วันที่ 1 (วันจันทร์) ถึง 7 (วันอาทิตย์) |
12 | ตั้งแต่ 1 (วันอังคาร) ถึง 7 (วันจันทร์) |
13 | ตั้งแต่วันที่ 1 (วันพุธ) ถึง 7 (วันอังคาร) |
14 | ตั้งแต่ 1 (วันพฤหัสบดี) ถึง 7 (วันพุธ) |
15 | ตั้งแต่ 1 (วันศุกร์) ถึง 7 (วันพฤหัสบดี) |
16 | ตั้งแต่ 1 (วันเสาร์) ถึง 7 (วันศุกร์) |
17 | ตั้งแต่ 1 (วันอาทิตย์) ถึง 7 (วันเสาร์) |
หมายเหตุ return_type ค่า 11 ถึง 17 ถูกนำมาใช้ใน Excel 2010 ดังนั้นจึงไม่สามารถใช้ในเวอร์ชันก่อนหน้าได้
สูตรพื้นฐาน WEEKDAY ใน Excel
สำหรับผู้เริ่มต้น เรามาดูกันว่า เพื่อใช้สูตร WEEKDAY ในรูปแบบที่ง่ายที่สุดในการรับหมายเลขวันจากวันที่
ตัวอย่างเช่น หากต้องการรับวันธรรมดาจากวันที่ใน C4 ด้วยค่าเริ่มต้นของสัปดาห์วันอาทิตย์ - วันเสาร์ สูตรคือ:
=WEEKDAY(C4)
หากคุณมีหมายเลขซีเรียลแทนวันที่ (เช่น นำมาโดยฟังก์ชัน DATEVALUE) คุณสามารถป้อนตัวเลขนั้นได้โดยตรงในสูตร:
=WEEKDAY(45658)
นอกจากนี้ คุณยังสามารถพิมพ์วันที่เป็นสตริงข้อความที่อยู่ในเครื่องหมายอัญประกาศ ในสูตรโดยตรง เพียงใช้รูปแบบวันที่ที่ Excel คาดหวังและสามารถตีความได้:
=WEEKDAY("1/1/2025")
หรือระบุวันที่ต้นฉบับด้วยวิธีที่เชื่อถือได้ 100% โดยใช้ฟังก์ชัน DATE:
=WEEKDAY(DATE(2025, 1,1))
หากต้องการใช้การแมปวันนอกเหนือจากค่าเริ่มต้นของ Sun-Sat ให้ป้อนตัวเลขที่เหมาะสมในอาร์กิวเมนต์ที่สอง ตัวอย่างเช่น หากต้องการเริ่มนับวันจากวันจันทร์ สูตรคือ:
=WEEKDAY(C4, 2)
ในภาพด้านล่าง สูตรทั้งหมดจะส่งกลับวันในสัปดาห์ที่ตรงกับวันที่ 1 มกราคม 2025 ซึ่งก็คือ เก็บเป็นหมายเลข 45658 ภายใน Excel ขึ้นอยู่กับค่าที่ตั้งไว้ในอาร์กิวเมนต์ที่สอง สูตรจะแสดงผลลัพธ์ที่แตกต่างกัน
เมื่อแรกเห็น อาจดูเหมือนว่าตัวเลขที่ส่งคืนโดยฟังก์ชัน WEEKDAY มีความหมายในทางปฏิบัติน้อยมาก แต่ลองดูจากมุมที่แตกต่างกันและหารือเกี่ยวกับสูตรบางอย่างที่ช่วยแก้ปัญหาในชีวิตจริง
วิธีแปลงวันที่ใน Excel เป็นชื่อวันในสัปดาห์
โดยการออกแบบ ฟังก์ชัน Excel WEEKDAY ส่งกลับวันในสัปดาห์เป็นตัวเลข หากต้องการเปลี่ยนเลขวันในสัปดาห์ให้เป็นชื่อวัน ให้ใช้ฟังก์ชัน TEXT
ในการรับ ชื่อเต็มวัน ให้ใช้โค้ดรูปแบบ "dddd":
TEXT(WEEKDAY( วันที่ ), "dddd")เมื่อต้องการส่งกลับ ตัวย่อชื่อวัน รหัสรูปแบบคือ "ddd":
TEXT(WEEKDAY( date ), "ddd")ตัวอย่างเช่น เมื่อต้องการแปลงวันที่ใน A3 เป็นชื่อวันในสัปดาห์ สูตรคือ:
=TEXT(WEEKDAY(A3), "dddd")
หรือ
=TEXT(WEEKDAY(A3), "ddd")
อีกวิธีที่เป็นไปได้คือการใช้ WEEKDAY ร่วมกับฟังก์ชัน CHOOSE
ตัวอย่างเช่น ในการรับชื่อวันในสัปดาห์แบบย่อจากวันที่ใน A3 สูตรจะใช้ดังนี้:
=CHOOSE(WEEKDAY(A3),"Sun","Mon","Tus","Wed","Thu","Fri","Sat")
ที่นี่ WEEKDAY ส่งคืนหมายเลขซีเรียลตั้งแต่ 1 (อาทิตย์) ถึง 7 (วันเสาร์ ) และ CHOOSE เลือกค่าที่สอดคล้องกันจากรายการ เนื่องจากวันที่ใน A3 (วันพุธ) ตรงกับ 4 ดังนั้น CHOOSE จึงแสดงผลลัพธ์เป็น "วันพุธ" ซึ่งเป็นค่าที่ 4 ในรายการ
แม้ว่าสูตร CHOOSE จะยุ่งยากกว่าเล็กน้อยในการกำหนดค่า แต่ก็ให้ความยืดหยุ่นมากขึ้น ให้คุณแสดงชื่อวันในรูปแบบใดก็ได้ที่คุณต้องการ ในตัวอย่างข้างต้น เราแสดงชื่อวันแบบย่อ คุณสามารถส่งชื่อเต็ม ตัวย่อที่กำหนดเอง หรือแม้แต่ชื่อวันในภาษาอื่นแทนได้
เคล็ดลับ อีกวิธีที่ง่ายในการแปลงวันที่เป็นชื่อวันในสัปดาห์คือการใช้รูปแบบวันที่ที่กำหนดเอง ตัวอย่างเช่น รูปแบบรหัส "dddd, mmmm d, yyyy" จะมีวันที่แสดงเป็น " วันศุกร์ที่ 3 มกราคม 2025 " ในขณะที่ "dddd" จะแสดงเพียง " วันศุกร์ " .
สูตร Excel WEEKDAY เพื่อค้นหาและกรองวันทำงานและวันหยุดสุดสัปดาห์
เมื่อต้องจัดการกับรายการวันที่จำนวนมาก คุณอาจต้องการทราบว่าวันใดเป็นวันทำงานและวันใดเป็นวันหยุดสุดสัปดาห์
หากต้องการ ระบุวันหยุดสุดสัปดาห์และวันธรรมดา ใน Excel ให้สร้างคำสั่ง IF ด้วยฟังก์ชัน WEEKDAY ที่ซ้อนกัน ตัวอย่างเช่น:
=IF(WEEKDAY(A3, 2)<6, "Workday", "Weekend")
สูตรนี้ไปที่เซลล์ A3 และคัดลอกลงในเซลล์มากเท่าที่จำเป็น
ในสูตร WEEKDAY คุณตั้งค่า return_type ถึง 2 ซึ่งตรงกับสัปดาห์วันจันทร์-อาทิตย์ โดยที่วันจันทร์เป็นวันที่ 1 ดังนั้น หากจำนวนวันทำงานน้อยกว่า 6 (วันจันทร์ถึงวันศุกร์) สูตรจะส่งกลับ "วันทำงาน" มิฉะนั้น - "วันหยุดสุดสัปดาห์"
หากต้องการ กรองวันหยุดสุดสัปดาห์หรือวันทำงาน ให้ใช้ตัวกรอง Excel กับชุดข้อมูลของคุณ (แท็บ ข้อมูล > ตัวกรอง ) และเลือก "วันหยุดสุดสัปดาห์" หรือ "วันทำงาน"
ในภาพหน้าจอด้านล่าง เราได้กรองวันธรรมดาออก ดังนั้นจึงเห็นเฉพาะวันหยุดสุดสัปดาห์เท่านั้น:
หากสำนักงานส่วนภูมิภาคบางแห่งขององค์กรของคุณทำงานตามกำหนดการอื่นโดยมีวันหยุด ไม่ใช่วันเสาร์และวันอาทิตย์ คุณสามารถปรับสูตร WEEKDAY ให้ตรงกับความต้องการของคุณได้โดยระบุ return_type อื่น
ตัวอย่างเช่น หากต้องการใช้ วันเสาร์ และ วันจันทร์ เป็นวันหยุดสุดสัปดาห์ ตั้งค่า return_type เป็น 12 ดังนั้นคุณจะได้ประเภทสัปดาห์ "วันอังคาร (1) ถึง วันจันทร์ (7)":
=IF(WEEKDAY(A2, 12)<6, "Workday", "Weekend")
วิธีเน้นวันหยุดสุดสัปดาห์และวันทำงานใน Excel
หากต้องการดูวันหยุดสุดสัปดาห์และวันทำงานในเวิร์กชีตของคุณอย่างรวดเร็ว คุณสามารถทำให้พวกมันถูกแรเงาด้วยสีต่างๆ โดยอัตโนมัติ สำหรับสิ่งนี้ ให้ใช้สูตรวันธรรมดา/วันหยุดสุดสัปดาห์ที่กล่าวถึงในตัวอย่างก่อนหน้ากับการจัดรูปแบบตามเงื่อนไขของ Excel ตามเงื่อนไขที่บอกเป็นนัย เราต้องการเฉพาะฟังก์ชันหลัก WEEKDAY ที่ไม่มี IF wrapper
หากต้องการ เน้นวันหยุดสุดสัปดาห์ (วันเสาร์และวันอาทิตย์):
=WEEKDAY($A2, 2)<6
ถึง เน้นวันทำงาน (วันจันทร์ - ศุกร์):
=WEEKDAY($A2, 2)>5
โดยที่ A2 คือเซลล์บนซ้ายของช่วงที่เลือก
ถึง ตั้งค่ากฎการจัดรูปแบบตามเงื่อนไข โดยมีขั้นตอนดังนี้:
- เลือกรายการวันที่ (ในกรณีของเราคือ A2:A15)
- ในแท็บ หน้าแรก ในกลุ่ม สไตล์ คลิก การจัดรูปแบบตามเงื่อนไข > กฎใหม่ .
- ในกล่องโต้ตอบ กฎการจัดรูปแบบใหม่ กล่อง เลือก ใช้สูตรเพื่อกำหนดว่าเซลล์ใดที่จะจัดรูปแบบ .
- ในกล่อง จัดรูปแบบค่าที่สูตรนี้ เป็นจริง ให้ป้อนสูตรที่กล่าวถึงข้างต้นสำหรับวันหยุดสุดสัปดาห์ หรือวันธรรมดา
- คลิกปุ่ม รูปแบบ และเลือกรูปแบบที่ต้องการ
- คลิก ตกลง สองครั้งเพื่อบันทึกการเปลี่ยนแปลงและปิดหน้าต่างโต้ตอบ
สำหรับข้อมูลโดยละเอียดในแต่ละขั้นตอน โปรดดูวิธีตั้งค่า การจัดรูปแบบตามเงื่อนไขด้วยสูตร
ผลลัพธ์ออกมาดูดีทีเดียวใช่ไหม
วิธีนับวันธรรมดาและวันหยุดสุดสัปดาห์ใน Excel
หากต้องการดูจำนวนวันธรรมดาหรือวันหยุดสุดสัปดาห์ในรายการวันที่ คุณสามารถใช้ฟังก์ชัน WEEKDAY ร่วมกับ SUM ตัวอย่างเช่น:
หากต้องการ นับวันหยุดสุดสัปดาห์ สูตรใน D3 คือ:
=SUM(--(WEEKDAY(A3:A20, 2)>5))
หากต้องการ นับวันทำงาน สูตรใน D4 ใช้รูปแบบนี้:
=SUM(--(WEEKDAY(A3:A20, 2)<6))
ใน Excel 365 และ Excel 2021 ที่จัดการอาร์เรย์แบบเนทีฟ สูตรนี้ทำงานเหมือนสูตรปกติดังที่แสดงในภาพหน้าจอด้านล่าง ใน Excel 2019 และรุ่นก่อนหน้า ให้กด Ctrl + Shift + Enter เพื่อทำให้เป็นสูตรอาร์เรย์
สูตรเหล่านี้ทำงานอย่างไร:
ฟังก์ชัน WEEKDAY ที่มี return_type ตั้งค่าเป็น 2 จะส่งกลับตัวเลขวันตั้งแต่ 1 (จันทร์) ถึง 7 (อาทิตย์ ) สำหรับแต่ละวันที่ในช่วง A3:A20 นิพจน์เชิงตรรกะจะตรวจสอบว่าตัวเลขที่ส่งคืนมีค่ามากกว่า 5 (สำหรับวันหยุดสุดสัปดาห์) หรือน้อยกว่า 6 (สำหรับวันธรรมดา) ผลลัพธ์ของการดำเนินการนี้คืออาร์เรย์ของค่า TRUE และ FALSE
การปฏิเสธสองครั้ง (--) บังคับให้ค่าตรรกะเป็น 1 และ 0 และฟังก์ชัน SUM ก็บวกกัน เนื่องจาก 1 (TRUE) แทนวันที่ต้องนับและ 0 (FALSE) เป็นวันที่จะละเว้น คุณจะได้ผลลัพธ์ที่ต้องการ
เคล็ดลับ ในการคำนวณ วันทำงานระหว่างสองวัน ให้ใช้ฟังก์ชัน NETWORKDAYS หรือ NETWORKDAYS.INTL
ถ้าเป็นวันธรรมดา ถ้าวันเสาร์หรือวันอาทิตย์ จากนั้น
สุดท้าย เรามาคุยกันอีกสักหน่อย กรณีเฉพาะที่แสดงวิธีกำหนดวันในสัปดาห์ และถ้าเป็นวันเสาร์หรือวันอาทิตย์ ให้ทำอย่างอื่น ถ้าเป็นวันธรรมดา ให้ทำอย่างอื่น
IF(WEEKDAY( cell , 2)> 5, if_weekend_then , if_weekday_then )สมมติว่าคุณกำลังคำนวณการจ่ายเงินสำหรับพนักงานที่ทำงานพิเศษในวันหยุด ดังนั้นคุณต้องเพื่อใช้อัตราการชำระเงินที่แตกต่างกันสำหรับวันทำงานและวันหยุดสุดสัปดาห์ ซึ่งสามารถทำได้โดยใช้คำสั่ง IF ต่อไปนี้:
- ในอาร์กิวเมนต์ logical_test ให้ซ้อนฟังก์ชัน WEEKDAY ที่ตรวจสอบว่าวันที่กำหนดให้เป็นวันทำงานหรือวันหยุดสุดสัปดาห์
- ในอาร์กิวเมนต์ value_if_true ให้คูณจำนวนชั่วโมงทำงานด้วยอัตราวันหยุดสุดสัปดาห์ (G4)
- ในอาร์กิวเมนต์ value_if_false ให้คูณจำนวนชั่วโมงทำงาน ตามอัตราวันทำงาน (G3)
สูตรที่สมบูรณ์ใน D3 ใช้แบบฟอร์มนี้:
=IF(WEEKDAY(B3, 2)>5, C3*$G$4, C3*$G$3)
เพื่อให้สูตรคัดลอกไปยังเซลล์ด้านล่างได้อย่างถูกต้อง อย่าลืมล็อกที่อยู่ของเซลล์อัตราด้วยเครื่องหมาย $ (เช่น $G$4)
ฟังก์ชัน WEEKDAY ไม่ทำงาน
โดยทั่วไป มีข้อผิดพลาดทั่วไปสองข้อที่สูตร WEEKDAY อาจส่งคืน:
#VALUE! ข้อผิดพลาดจะเกิดขึ้นหาก:
- Serial_number หรือ return_type ไม่ใช่ตัวเลข
- Serial_number หมด ช่วงวันที่ที่รองรับ (1900 ถึง 9999)
#NUM! เกิดข้อผิดพลาดเมื่อ return_type อยู่นอกช่วงที่อนุญาต (1-3 หรือ 11-17)
นี่คือวิธีใช้ฟังก์ชัน WEEKDAY ใน Excel เพื่อจัดการวันในสัปดาห์ ในบทความถัดไป เราจะสำรวจฟังก์ชันของ Excel เพื่อทำงานในหน่วยเวลาที่ใหญ่ขึ้น เช่น สัปดาห์ เดือน และปี โปรดติดตามและขอขอบคุณที่อ่าน!
แบบฝึกหัดสำหรับการดาวน์โหลด
สูตร WEEKDAY ใน Excel - ตัวอย่าง (.xlsxไฟล์)