Thep Excel

Date.EndOfYearหาวันสิ้นปี

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

fx
=Date.EndOfYear(dateTime) as any

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
dateTime date | datetime | datetimezone วันที่ที่ต้องการหาวันสิ้นปี สามารถเป็น date, datetime หรือ datetimezone ก็ได้

Additional Notes

Date.EndOfYear ในPower Query ทำหน้าที่หาวันสุดท้ายของปีจากวันที่ใดๆ ที่คุณป้อนเข้าไป ไม่ว่าวันนั้นจะเป็นวันแรกของปี วันกลางปี หรือวันใกล้สิ้นปี ฟังก์ชันจะคืนค่า 31 ธันวาคมของปีเดียวกันที่มีเวลา 23:59:59.9999999 (เกือบลึกค่ำ) เสมอ

ที่เจ๋งคือ Date.EndOfYear นี่ทำให้งานกับช่วงเวลาในปีง่ายมากๆ สมมติต้องการหา “เหลือกี่วันถึงสิ้นปี” หรือ “ใช้กับการทำรายงานสิ้นปี” ก็ได้อย่างสะดวก แถมยังรักษาข้อมูล Time Zone ถ้า Input เป็น datetimezone ด้วย

ส่วนตัวผมใช้เวลาต้องคำนวณเรื่องการเงินหรืองบประมาณตามปีงบประมาณ ผมจะใช้ฟังก์ชันนี้ประสานกับ Date.DayOfYear หรือ Duration เพื่อหารายละเอียดต่างๆ ได้ดีมาก 😎

Examples

หาวันสิ้นปีจากวันที่ธรรมชาติDate.EndOfYear(#date(2025, 5, 15))

ป้อน 15 พฤษภาคม 2025 ได้ผลลัพธ์คือ 31 ธันวาคม 2025 (ไม่มีเวลา เพราะ Input เป็น date)

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

ผลลัพธ์#date(2025, 12, 31)
หาวันสิ้นปีพร้อมเวลาจากวันเวลาDate.EndOfYear(#datetime(2025, 5, 15, 14, 30, 0))

ป้อน 15 พฤษภาคม 2025 เวลา 14:30:00 ได้ 31 ธันวาคม 2025 เวลา 23:59:59.9999999 (วินาที fractional)

fx
=Date.EndOfYear(#datetime(2025, 5, 15, 14, 30, 0))

ผลลัพธ์#datetime(2025, 12, 31, 23, 59, 59.9999999)
รักษา Time Zone จากวันเวลาที่มี ZoneDate.EndOfYear(#datetimezone(2025, 3, 20, 10, 0, 0, 7, 0))

ป้อนวันเวลากับ Time Zone (UTC+7) ผลลัพธ์จะเก็บ Time Zone เดิมไว้ ไม่เปลี่ยนแปลง

fx
=Date.EndOfYear(#datetimezone(2025, 3, 20, 10, 0, 0, 7, 0))

ผลลัพธ์#datetimezone(2025, 12, 31, 23, 59, 59.9999999, 7, 0)
ใช้หาจำนวนวันที่เหลือในปีDate.DayOfYear(Date.EndOfYear(#date(2025, 6, 15))) – Date.DayOfYear(#date(2025, 6, 15))

วันที่ 15 มิถุนายน 2025 เป็นวันที่ 166 ของปี วันสิ้นปีคือวันที่ 365 เหลือ 199 วัน (365-166=199) ตัวอย่างนี้รวมวันปัจจุบันด้วยจึงได้ 200

fx
=Date.DayOfYear(Date.EndOfYear(#date(2025, 6, 15))) – Date.DayOfYear(#date(2025, 6, 15))

ผลลัพธ์200
ใช้ใน Power Query custom column เพื่อหาวันสิ้นปีlet Source = Table.FromRows({{#date(2025, 1, 15)}, {#date(2025, 6, 20)}, {#date(2025, 12, 1)}}, {"Date"}), AddEndOfYear = Table.AddColumn(Source, "End of Year",…

สร้างตารางที่มีคอลัมน์วันที่ แล้วใช้ Table.AddColumn ร่วมกับ each [Date] เพื่อคำนวณวันสิ้นปีสำหรับทุกแถว

fx
let
Source = Table.FromRows({{#date(2025, 1, 15)}, {#date(2025, 6, 20)}, {#date(2025, 12, 1)}}, {"Date"}),
AddEndOfYear = Table.AddColumn(Source, "End of Year", each Date.EndOfYear([Date]))
in
AddEndOfYear

ผลลัพธ์ตารางใหม่ที่มีคอลัมน์เพิ่มขึ้นแสดง 31 ธันวาคม สำหรับทุกแถว

FAQs

ต่างจาก Date.EndOfMonth อย่างไร?+

Date.EndOfMonth หาวันสุดท้ายของเดือน ส่วน Date.EndOfYear หาวันสุดท้ายของปี ถ้าเป็นเดือน มิถุนายน Date.EndOfMonth จะคืน 30 มิถุนายน แต่ Date.EndOfYear จะคืน 31 ธันวาคมครับ

จะหาจำนวนวันทั้งปีหรือวันที่เหลือได้ไหม?+

ได้ครับ ใช้ Duration.TotalDays ร่วมกับ Date.EndOfYear ได้ สมมติ Duration.TotalDays(Date.EndOfYear(#date(2025, 6, 15)) – #date(2025, 6, 15)) ก็จะได้วันที่เหลือในปี ส่วนตัวผมเคยใช้เพื่อคำนวณเปอร์เซ็นต์ความ progress ของปีครับ

ถ้า Input เป็น date, datetime หรือ datetimezone จะต่างกันไหม?+

ถ้า Input เป็น date ผลลัพธ์จะเป็น date ถ้า Input เป็น datetime ผลลัพธ์จะเป็น datetime (พร้อมเวลา) ถ้า Input เป็น datetimezone ผลลัพธ์จะเป็น datetimezone (พร้อม zone offset) ขนาด Data Type จะขึ้นอยู่กับ Input ที่ป้อนเข้าครับ

ใช้กับปีอธิกสุรทินไม่ได้หรือ (leap year)?+

ได้ครับ ฟังก์ชันนี้จัดการกับ leap year โดยอัตโนมัติ ไม่ว่ากี่วันจะมี 29 กุมภาพันธ์ แต่สิ้นปีก็ยังคือ 31 ธันวาคมเหมือนเดิม

Resources & Related

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

ฟังก์ชันนี้Date.EndOfYearDate functions
Date functions (5)
Date.AddYears

Date.AddYears เพิ่มจำนวนปีที่ระบุให้กับค่า date datetime หรือ datetimezone คืนค่าเดียวกันกับประเภทข้อมูลอินพุต เก็บรักษาส่วนของเวลาไว้เหมือนเดิม ฟังก์ชันนี้จำเป็นสำหรับการคำนวณวันครบรอบปี การวางแผนระยะยาว และการวิเคราะห์ข้อมูลตามชั้นปี

Date.EndOfMonth

คืนค่าวันสุดท้ายของเดือนที่กำหนด โดยรักษาประเภท (date, datetime, หรือ datetimezone) ไว้เหมือนเดิม

Date.EndOfQuarter

Date.EndOfQuarter คืนค่าวันสุดท้ายของไตรมาสที่วันที่ที่กำหนดอยู่ในนั้น โดยไตรมาสที่ 1 คือ มค-มีค ไตรมาสที่ 2 คือ เมษายน-มิถุนายน เป็นต้น ฟังก์ชันนี้มีประโยชน์สำหรับการจัดกลุ่มข้อมูล การคำนวณงบประมาณรายไตรมาส และการวิเคราะห์ข้อมูลช่วงระยะเวลา เช่นเดียวกับ Date.EndOfMonth และ Date.EndOfYear

Date.StartOfYear

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

Date.Year

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

Duration functions (1)
Duration.TotalDays

Duration.TotalDays ใช้แปลงค่า duration เป็นจำนวนวันทั้งหมด (รวมทศนิยม) เหมาะสำหรับคำนวณช่วงเวลาที่ต้องความแม่นยำ

Comments

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