Thep Excel

Date.DayOfWeekคืนค่าตัวเลขลำดับวันในสัปดาห์

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

fx
=Date.DayOfWeek(dateTime, [firstDayOfWeek]) as nullable number

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
dateTime date, datetime, or datetimezone วันที่ที่ต้องการหาลำดับวันในสัปดาห์
[firstDayOfWeek]ไม่บังคับ number (Day constant) Day.Sunday วันที่จะระบุเป็นวันแรกของสัปดาห์ (Day.Sunday, Day.Monday, เป็นต้น) ถ้าไม่ระบุจะใช้ค่าเริ่มต้น Day.Sunday

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

Additional Notes

ฟังก์ชัน Date.DayOfWeek ใน Power Query M คืนค่าตัวเลขระหว่าง 0 ถึง 6 ที่แทนวันในสัปดาห์ของวันที่ที่กำหนด ตัวเลขนี้ขึ้นอยู่กับพารามิเตอร์ firstDayOfWeek ที่ระบุว่าวันไหนคือวันแรกของสัปดาห์

ที่เจ๋งคือคุณสามารถเปลี่ยนวันแรกของสัปดาห์ได้ ตัวอย่างเช่น ถ้าคุณบอกให้ Date.DayOfWeek ใช้ Day.Monday เป็นจุดเริ่มต้น จันทร์จะได้ค่า 0 แทนที่จะเป็น 1 วิธีนี้สมควรถ้าคุณกำลังทำงานกับโปรแกรมหรือประเทศที่ใช้จันทร์เป็นวันแรก

ส่วนตัวผมชอบใช้ Date.DayOfWeek กับ Table.AddColumn เมื่อต้องการเพิ่มคอลัมน์ที่แสดงลำดับวันของแต่ละแถว จากนั้นใช้ค่านี้ในการกรองหรือจัดเรียงข้อมูลตามวันที่ต้องการ เช่น การหาปริมาณขายเฉพาะวันจันทร์ วันเสาร์ เป็นต้น

Examples

หาลำดับวันพื้นฐาน (วันอาทิตย์เป็นวันแรก)Date.DayOfWeek(#date(2025, 1, 6))

วันที่ 6 มกราคม 2025 เป็นวันจันทร์ และเมื่อวันอาทิตย์ = 0 ดังนั้นจันทร์ = 1

fx
=Date.DayOfWeek(#date(2025, 1, 6))

ผลลัพธ์1 (วันจันทร์)
ใช้จันทร์เป็นวันแรกของสัปดาห์Date.DayOfWeek(#date(2025, 1, 6), Day.Monday)

เมื่อ firstDayOfWeek = Day.Monday จันทร์ได้ค่า 0 แทนที่จะเป็น 1

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

ผลลัพธ์0 (วันจันทร์)
ใช้ในตัวอย่าง let…in สมบูรณ์let OrderDate = #date(2025, 1, 15), DayNumber = Date.DayOfWeek(OrderDate, Day.Monday), DayNames = {"จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย…

วันที่ 15 มกราคม 2025 เป็นวันพุธ (index 2 เมื่อจันทร์ = 0)

fx
let
OrderDate = #date(2025, 1, 15),
DayNumber = Date.DayOfWeek(OrderDate, Day.Monday),
DayNames = {"จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"},
DayName = DayNames{DayNumber}
in
DayName

ผลลัพธ์"พุธ"
เพิ่มคอลัมน์วันในตารางlet Sales = Table.FromRows( {{#date(2025, 1, 6), 1200}, {#date(2025, 1, 7), 1500}}, {"Date", "Amount"} ), WithDayOfWeek = Table.AddColumn( Sales, "DayOfWeek", e…

สร้างตารางแล้วเพิ่มคอลัมน์ DayOfWeek โดยใช้ Date.DayOfWeek

fx
let
Sales = Table.FromRows(
{{#date(2025, 1, 6), 1200}, {#date(2025, 1, 7), 1500}},
{"Date", "Amount"}
),
WithDayOfWeek = Table.AddColumn(
Sales,
"DayOfWeek",
each Date.DayOfWeek([Date], Day.Monday)
)
in
WithDayOfWeek

ผลลัพธ์ตารางที่มีคอลัมน์ DayOfWeek เพิ่มเข้ามา (ค่า: 0 สำหรับจันทร์ 1 สำหรับอังคาร)
กรองข้อมูลเฉพาะวันสุดสัปดาห์let Sales = Table.FromRows( {{#date(2025, 1, 4), 500}, {#date(2025, 1, 5), 1200}, {#date(2025, 1, 6), 800}}, {"Date", "Amount"} ), WeekendOnly = Table.SelectRow…

ค่า >= 5 หมายถึง เสาร์ (5) และอาทิตย์ (6) เมื่อจันทร์ = 0

fx
let
Sales = Table.FromRows(
{{#date(2025, 1, 4), 500}, {#date(2025, 1, 5), 1200}, {#date(2025, 1, 6), 800}},
{"Date", "Amount"}
),
WeekendOnly = Table.SelectRows(
Sales,
each Date.DayOfWeek([Date], Day.Monday) >= 5
)
in
WeekendOnly

ผลลัพธ์ตารางที่มีเฉพาะข้อมูลจาก 5-6 มกราคม (เสาร์-อาทิตย์)

FAQs

ค่าตัวเลข 0-6 หมายถึงอะไรบ้าง?+

ขึ้นอยู่กับค่า firstDayOfWeek ที่คุณระบุ หากใช้ Day.Sunday (ค่าเริ่มต้น) จะเป็น 0=อาทิตย์ 1=จันทร์ … 6=เสาร์ หากใช้ Day.Monday จะเป็น 0=จันทร์ 1=อังคาร … 6=อาทิตย์

ถ้าไม่ระบุ firstDayOfWeek ค่าเริ่มต้นจะเป็นอะไร?+

ค่าเริ่มต้นคือ Day.Sunday (ดังนั้นอาทิตย์ = 0) ลักษณะนี้อาจแตกต่างจากค่าเริ่มต้นของระบบปฏิบัติการหรือประเทศ

ใช้ Date.DayOfWeek กับ DateTime ได้ไหม?+

ได้ฟังก์ชันนี้ยอมรับ date, datetime, และ datetimezone ดังนั้นใช้กับ datetime ได้เลย เวลาไม่มีผลกับผลลัพธ์

ต่างกับ Date.DayOfWeekName อย่างไร?+

Date.DayOfWeek คืนตัวเลข (0-6) ส่วน Date.DayOfWeekName คืนชื่อวัน ("Monday", "Tuesday" เป็นต้น) เลือกใช้ตามที่ต้องการแสดง

ใช้ Day.Friday มากเมื่อไหร่?+

ใช้เมื่อคุณต้องการให้ศุกร์เป็นวันแรก อาจมีในบริบทการจัดสัปดาห์ของบางพื้นที่หรือธุรกิจ

Resources & Related

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

ฟังก์ชันนี้Date.DayOfWeekDate functions
Date functions (7)
Date.Day

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

Date.DayOfWeekName

Date.DayOfWeekName คืนค่าชื่อวันในสัปดาห์เป็นข้อความ เหมาะสำหรับแสดงวันจากวันที่ในรูปแบบ Monday, Tuesday เป็นต้น สามารถกำหนด culture เพื่อแปลชื่อวันเป็นภาษาต่างๆ ได้

Date.EndOfWeek

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

Date.QuarterOfYear

คืนค่าไตรมาสของปี (1-4) จากวันที่ที่กำหนด ใช้สำหรับการวิเคราะห์ข้อมูลรายไตรมาส

Date.StartOfWeek

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

Date.WeekOfYear

Date.WeekOfYear ใช้หาว่าวันที่ที่กำหนดตกอยู่ในสัปดาห์ที่เท่าไหร่ของปี (1-54) ช่วยในการวิเคราะห์และจัดกลุ่มข้อมูลตามสัปดาห์

Date.Year

Date.Year คืนค่าปีเป็นตัวเลข 4 หลักจากข้อมูล DateTime ใช้สำหรับดึงเฉพาะปีออกมาจากวันที่เพื่อนำไปจัดกลุ่มข้อมูลหรือกรองตามปี

enumerations (1)
Day.Type

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

Comments

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