Thep Excel

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

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

=Date.EndOfYear(dateTime as any) as any

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
6/10

Difficulty
2/10

Usefulness
6/10

Syntax & Arguments

=Date.EndOfYear(dateTime as any) as any

Argument Type Required Default Description
dateTime date | datetime | datetimezone Yes วันที่ที่ต้องการหาวันสิ้นปี สามารถเป็น date, datetime หรือ datetimezone ก็ได้

Examples

หาวันสิ้นปีจากวันที่ธรรมชาติ
Date.EndOfYear(#date(2025, 5, 15))
ป้อน 15 พฤษภาคม 2025 ได้ผลลัพธ์คือ 31 ธันวาคม 2025 (ไม่มีเวลา เพราะ Input เป็น date)
Power Query Formula:

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

Result:

#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)
Power Query Formula:

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

Result:

#datetime(2025, 12, 31, 23, 59, 59.9999999)

รักษา Time Zone จากวันเวลาที่มี Zone
Date.EndOfYear(#datetimezone(2025, 3, 20, 10, 0, 0, 7, 0))
ป้อนวันเวลากับ Time Zone (UTC+7) ผลลัพธ์จะเก็บ Time Zone เดิมไว้ ไม่เปลี่ยนแปลง
Power Query Formula:

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

Result:

#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
Power Query Formula:

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

Result:

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] เพื่อคำนวณวันสิ้นปีสำหรับทุกแถว
Power Query Formula:

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

Result:

ตารางใหม่ที่มีคอลัมน์เพิ่มขึ้นแสดง 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

Additional Notes

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

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

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

Leave a Reply

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