Thep Excel

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

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

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

ความนิยม5/10
ความยาก1/10
ประโยชน์5/10

อัปเดต 4 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
[Day.Sunday]ไม่บังคับ Day enumeration แทนค่า 0 (วันอาทิตย์)
[Day.Monday]ไม่บังคับ Day enumeration แทนค่า 1 (วันจันทร์)
[Day.Tuesday]ไม่บังคับ Day enumeration แทนค่า 2 (วันอังคาร)
[Day.Wednesday]ไม่บังคับ Day enumeration แทนค่า 3 (วันพุธ)
[Day.Thursday]ไม่บังคับ Day enumeration แทนค่า 4 (วันพฤหัสบดี)
[Day.Friday]ไม่บังคับ Day enumeration แทนค่า 5 (วันศุกร์)
[Day.Saturday]ไม่บังคับ Day enumeration แทนค่า 6 (วันเสาร์)

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

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 ชัดเจนและง่ายต่อการแก้ไขในอนาคต 😎

Examples

ใช้ Day.Type กับ Date.DayOfWeek – หาวันที่ Sunday เป็นอ้างอิงDate.DayOfWeek(#date(2025, 1, 15), Day.Sunday)

วันที่ 15 มกราคม 2025 คือวันพุธ (ค่า 3) เมื่อ Sunday = 0 ผม Day.Sunday ให้ Day.DayOfWeek เป็นอ้างอิง ตัวเลขทีส่ดจะนับจาก Sunday

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

ผลลัพธ์3
ใช้ Day.Type กับ Date.DayOfWeek – หาวันที่ Monday เป็นอ้างอิงDate.DayOfWeek(#date(2025, 1, 15), Day.Monday)

วันเดียวกัน แต่เปลี่ยนอ้างอิงเป็น Monday (1) ตอนนี้ Wednesday มีค่า 2 เพราะเรานับจาก Monday เป็นวันแรก

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

ผลลัพธ์2
ใช้ Day.Type กับ Date.StartOfWeek – หาวันแรกของสัปดาห์เป็น MondayDate.StartOfWeek(#datetime(2025, 1, 15, 8, 10, 32), Day.Monday)

วันที่ 15 ตรงกับ Wednesday ผมใช้ Day.Monday เป็นอ้างอิง ฟังก์ชันจึงเลื่อนกลับไปวันจันทร์ที่ 13 มกราคม เพื่อเป็นวันแรกของสัปดาห์

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

ผลลัพธ์#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

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

ผลลัพธ์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

ฟังก์ชันที่ผู้เขียนโยงไว้กับ Day.Type จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้Day.Typeenumerations
Date functions (5)
Date.Day

Date.Day ใช้สำหรับดึงเลขวันที่จากค่าวันที่ หรือวันที่และเวลาใด ๆ ผลลัพธ์คือตัวเลขระหว่าง 1-31 ที่บอกวันของเดือนนั้น ฟังก์ชันนี้มีประโยชน์มากเมื่อเราต้องการแยกส่วนประกอบของวันที่ออกมาใช้งาน

Date.DayOfWeek

แปลงวันที่ให้เป็นตัวเลข 0-6 แทนวันในสัปดาห์ (0=อาทิตย์ โดยค่าเริ่มต้น)

Date.EndOfWeek

คืนค่าวันสุดท้ายของสัปดาห์

Date.Month

Date.Month ดึงค่าตัวเลขเดือน (1-12) จากข้อมูลวันที่ใดๆ เหมาะสำหรับการจัดกลุ่มและวิเคราะห์ข้อมูลตามรอบเดือน

Date.StartOfWeek

คืนค่าวันแรกของสัปดาห์

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่