Thep Excel

Date.StartOfYearหาวันต้นปี

Date.StartOfYear คืนค่าวันแรกของปี (1 มกราคม เวลา 00:00:00) จากวันที่ใดๆ ที่ส่งเข้ามา ใช้สำหรับคำนวณตัวชี้วัดแบบ Year-To-Date หรือจัดกลุ่มข้อมูลตามปี

fx
=Date.StartOfYear(dateTime) as any

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
dateTime date | datetime | datetimezone วันที่หรือวันเวลาใดๆ ที่อยู่ในปีนั้น ฟังก์ชันจะคืนค่าวันแรกของปี

Additional Notes

ฟังก์ชัน Date.StartOfYear ใน Power Query ใช้เพื่อหาวันแรกของปีที่ตรงกับวันที่ที่คุณส่งเข้ามา ไม่ว่าจะส่งเข้ามาเป็น date, datetime หรือ datetimezone ตัวฟังก์ชันจะคืนค่าเป็น January 1st ของปีนั้นเสมอ ตั้งเวลาให้เป็น 00:00:00 เสมอ

ที่เจ๋งคือ ฟังก์ชันนี้ทำให้ผมเข้าถึงจุดเริ่มต้นของปีได้อย่างรวดเร็ว ช่วยให้คำนวณ YTD (Year-To-Date) ได้ง่าย และสามารถเปรียบเทียบข้อมูลระหว่างปีได้ อีกทั้งยังใช้สำหรับจัดกลุ่มข้อมูลตามปีอย่างแม่นยำ

ส่วนตัวผม ผมใช้ Date.StartOfYear เวลาทำ Year-Over-Year analysis ก็จะรู้ว่าจุดเริ่มต้นของแต่ละปีอยู่ที่ไหน ทำให้คำนวณช่วงเวลาตั้งแต่ต้นปีถึงวันที่กำหนดได้ถูกต้อง 😎

Examples

หาวันต้นปีจากวันที่Date.StartOfYear(#date(2025, 5, 15))

ส่งวันที่ 15 พฤษภาคม 2025 เข้าไป ฟังก์ชันจะคืนค่า 1 มกราคม 2025

fx
=Date.StartOfYear(#date(2025, 5, 15))

ผลลัพธ์#date(2025, 1, 1)
ใช้กับ datetimeDate.StartOfYear(#datetime(2025, 10, 10, 8, 30, 45))

ส่งวันเวลา 10 ตุลาคม 2025 เวลา 08:30:45 เข้าไป จะได้ 1 มกราคม 2025 เวลา 00:00:00

fx
=Date.StartOfYear(#datetime(2025, 10, 10, 8, 30, 45))

ผลลัพธ์#datetime(2025, 1, 1, 0, 0, 0)
ใช้ใน Power Query TableTable.AddColumn(#"Sales Data", "Year Start", each Date.StartOfYear([OrderDate]))

ใช้กับ each เพื่อใช้กับแต่ละแถว ฟังก์ชันจะหาวันต้นปีของวันที่ในคอลัมน์ OrderDate

fx
= Table.AddColumn(#"Sales Data", "Year Start", each Date.StartOfYear([OrderDate]))

ผลลัพธ์เพิ่มคอลัมน์ใหม่ชื่อ Year Start ที่เก็บวันต้นปี
คำนวณ Year-To-Date DaysDuration.Days(Date.StartOfYear(DateTime.Now()) – DateTime.Now())

คำนวณระยะเวลาจากวันต้นปีถึงวันปัจจุบัน ใช้ Duration.Days เพื่อแปลงเป็นจำนวนวัน

fx
= Duration.Days(Date.StartOfYear(DateTime.Now()) – DateTime.Now())

ผลลัพธ์จำนวนวันตั้งแต่ต้นปีถึงวันนี้ (เป็นลบ)

FAQs

Date.StartOfYear แตกต่างจาก Date.StartOfMonth อย่างไร?+

ผมใช้ Date.StartOfYear เวลาต้องการวันต้นปี (1 มกราคม) และใช้ Date.StartOfMonth เวลาต้องการวันต้นเดือน ทั้ง 2 ฟังก์ชันทำงานคล้ายกัน แต่ช่วงเวลาที่ส่งกลับมาต่างกัน

ถ้าส่ง NULL หรือค่าว่างเข้าไป จะเกิดอะไรขึ้น?+

ฟังก์ชันจะส่งกลับมาเป็น error หรือ null ขึ้นอยู่กับการตั้งค่า ผมแนะนำให้ใช้ Table.TransformColumns หรือ each เพื่อตรวจสอบค่าก่อน

เวลาไหนที่ผมจะใช้ Date.StartOfYear?+

ผมใช้เวลาคำนวณ YTD metrics, จัดกลุ่มข้อมูลตามปี, หรือเปรียบเทียบข้อมูล Year-Over-Year ฟังก์ชันนี้ช่วยหาจุดเริ่มต้นของแต่ละปีได้เร็ว

Resources & Related

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

ฟังก์ชันนี้Date.StartOfYearDate functions
Date functions (4)
Date.EndOfYear

Date.EndOfYear คืนค่าวันสุดท้ายของปี (31 ธันวาคม) จากวันที่ที่กำหนด พร้อมเวลา 23:59:59.9999999

Date.StartOfMonth

คืนค่าวันแรกของเดือน โดยรีเซ็ตวันที่เป็นวันที่ 1 และเวลาเป็น 00:00:00

Date.StartOfQuarter

Date.StartOfQuarter ส่งคืนวันแรกของไตรมาสสำหรับวันที่ที่ระบุ

Date.Year

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

Duration functions (1)
Duration.Days

Duration.Days ดึงจำนวนวันจากค่า Duration ซึ่งมีประโยชน์เมื่อต้องการแยกส่วนวันออกจากระยะเวลาที่คำนวณได้ เช่นความต่างระหว่างสองวันที่

Comments

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