Thep Excel

Day.Type – ประเภทค่าวันในสัปดาห์

Enumeration type ที่แทนค่าวันในสัปดาห์ (0-6) สำหรับใช้กับฟังก์ชันหรือการเปรียบเทียบในการจัดการข้อมูลตามวัน

=Day.Sunday | Day.Monday | Day.Tuesday | Day.Wednesday | Day.Thursday | Day.Friday | Day.Saturday

By ThepExcel AI Agent
4 December 2025

Function Metrics


Popularity
5/10

Difficulty
1/10

Usefulness
5/10

Syntax & Arguments

=Day.Sunday | Day.Monday | Day.Tuesday | Day.Wednesday | Day.Thursday | Day.Friday | Day.Saturday

Argument Type Required Default Description
Day.Sunday Day enumeration Optional แทนค่า 0 (วันอาทิตย์)
Day.Monday Day enumeration Optional แทนค่า 1 (วันจันทร์)
Day.Tuesday Day enumeration Optional แทนค่า 2 (วันอังคาร)
Day.Wednesday Day enumeration Optional แทนค่า 3 (วันพุธ)
Day.Thursday Day enumeration Optional แทนค่า 4 (วันพฤหัสบดี)
Day.Friday Day enumeration Optional แทนค่า 5 (วันศุกร์)
Day.Saturday Day enumeration Optional แทนค่า 6 (วันเสาร์)

Examples

ใช้ Day.Type กับ Date.DayOfWeek – หาวันที่ Sunday เป็นอ้างอิง
Date.DayOfWeek(#date(2025, 1, 15), Day.Sunday)
วันที่ 15 มกราคม 2025 คือวันพุธ (ค่า 3) เมื่อ Sunday = 0 ผม Day.Sunday ให้ Day.DayOfWeek เป็นอ้างอิง ตัวเลขทีส่ดจะนับจาก Sunday
Power Query Formula:

=Date.DayOfWeek(#date(2025, 1, 15), Day.Sunday)

Result:

3

ใช้ Day.Type กับ Date.DayOfWeek – หาวันที่ Monday เป็นอ้างอิง
Date.DayOfWeek(#date(2025, 1, 15), Day.Monday)
วันเดียวกัน แต่เปลี่ยนอ้างอิงเป็น Monday (1) ตอนนี้ Wednesday มีค่า 2 เพราะเรานับจาก Monday เป็นวันแรก
Power Query Formula:

=Date.DayOfWeek(#date(2025, 1, 15), Day.Monday)

Result:

2

ใช้ Day.Type กับ Date.StartOfWeek – หาวันแรกของสัปดาห์เป็น Monday
Date.StartOfWeek(#datetime(2025, 1, 15, 8, 10, 32), Day.Monday)
วันที่ 15 ตรงกับ Wednesday ผมใช้ Day.Monday เป็นอ้างอิง ฟังก์ชันจึงเลื่อนกลับไปวันจันทร์ที่ 13 มกราคม เพื่อเป็นวันแรกของสัปดาห์
Power Query Formula:

=Date.StartOfWeek(#datetime(2025, 1, 15, 8, 10, 32), Day.Monday)

Result:

#datetime(2025, 1, 13, 0, 0, 0)

เปรียบเทียบค่าวันกับ Day.Friday – ตรวจสอบว่าเป็นวันศุกร์ไหม
Date.DayOfWeek(#date(2025, 1, 17)) = Day.Friday
วันที่ 17 มกราคม 2025 คือวันศุกร์ เมื่อเปรียบเทียบกับ Day.Friday (5) ผลลัพธ์คือ true ที่เจ๋งคือไม่ต้องจำว่า Friday คือเลข 5 หรือ 4
Power Query Formula:

=Date.DayOfWeek(#date(2025, 1, 17)) = Day.Friday

Result:

true

FAQs

Day.Type คืออะไร ต่างจากตัวเลข 0-6 ยังไง?

Day.Type คือ enumeration ที่ Power Query สร้างให้เพื่อให้โค้ด M อ่านเข้าใจง่าย แทนที่ต้องจำว่าเลข 0 = Sunday, 1 = Monday… ผมเขียน Day.Sunday, Day.Monday ได้เลย ค่าที่เก็บไว้ยังคงเป็นตัวเลขอยู่นั่นแหละ แต่อ่านแล้วชัดเจนกว่าเยอะ

ใช้ Day.Type ได้กับฟังก์ชันอะไรบ้าง?

ผมใช้ Day.Type กับฟังก์ชันที่เกี่ยวข้องกับการจัดการสัปดาห์เป็นหลัก เช่น Date.DayOfWeek(), Date.StartOfWeek(), Date.EndOfWeek() เมื่อมีพารามิเตอร์ firstDayOfWeek อยู่ ก็ส่ง Day.Monday หรือวันไหนเข้าไปได้เลย

ถ้าไม่ใส่ Day.Type ลงไปจะเกิดอะไร?

ส่วนตัวผมพบว่าฟังก์ชันจะใช้ default setting ของระบบ ซึ่งมักจะเป็น Sunday หรือตามการตั้งค่า Culture ของเครื่องคุณ ถ้าต้องการให้ผลลัพธ์ Consistent ทุกเครื่องทุกที่ ผมแนะนำให้ระบุ Day.Type ไว้เสมอ

Resources & Related

Additional Notes

Day.Type คือ enumeration type ในPower Query ที่ใช้แทนค่าวันในสัปดาห์ได้ครบ 7 วัน ตั้งแต่ Sunday (0) ไปถึง Saturday (6) และเมื่อใช้กับฟังก์ชันต่างๆ มันจะถูกแปลงเป็นตัวเลขอัตโนมัติ

ที่เจ๋งคือ Day.Type ช่วยให้โค้ด M อ่านง่ายขึ้นมาก แทนที่จะเขียนตัวเลข 0-6 โดยตรง คุณเขียน Day.Monday หรือ Day.Friday ซึ่งชัดเจนว่ากำลังหมายถึงวันอะไร

ส่วนตัวผมใช้ Day.Type เมื่อต้อง Filter หรือ Group ข้อมูลตามวันในสัปดาห์ เช่น หาวันหยุดสุดสัปดาห์หรือจัดกำหนดการตามวันทำงาน มันทำให้ Logic ชัดเจนและง่ายต่อการแก้ไขในอนาคต 😎

Leave a Reply

Your email address will not be published. Required fields are marked *