Thep Excel

ENDOFYEAR – ชุดวันที่ของวันสิ้นปีในบริบทปัจจุบัน

ENDOFYEAR คืนตารางวันที่ของวันสิ้นปีตามบริบทวันที่ปัจจุบัน และรองรับการกำหนดวันสิ้นปีบัญชี เหมาะกับการใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อประเมินมาตรวัดที่วันสิ้นปี

=ENDOFYEAR(<Dates>[, <YearEndDate>])

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
6/10

Difficulty
3/10

Usefulness
6/10

Syntax & Arguments

=ENDOFYEAR(<Dates>[, <YearEndDate>])

Argument Type Required Default Description
Dates column Yes คอลัมน์วันที่จากตารางวันที่/ปฏิทิน หรือเรียกได้ว่า ‘ตารางวันที่’ ที่มีหลายแถวของวันที่ต่อเนื่อง
YearEndDate text Optional "12-31" วันสิ้นปีบัญชีในรูปแบบ “MM-DD” หรือ “M-D” โดยส่วนปีจะถูกละเลย (เช่น “03-31” สำหรับปีบัญชีที่สิ้นสุด 31 มีนาคม)

How it works

ประเมินมาตรวัด ณ วันสิ้นปี

เช่น ยอดคงเหลือสิ้นปีตามบริบทที่เลือก

รองรับปีบัญชี

กำหนด YearEndDate เพื่อให้วันสิ้นปีอิงปีบัญชี

Examples

ตัวอย่างที่ 1: ยอดคงเหลือสิ้นปี (ปีปฏิทิน)
Balance at Year End = CALCULATE( [Balance], ENDOFYEAR('DimDate'[Date]) )
ENDOFYEAR คืนชุดวันที่ที่เป็นวันสิ้นปี จากนั้น CALCULATE ใช้ผลลัพธ์นี้เป็นตัวกรองเวลา เพื่อประเมินมาตรวัด [Balance] ที่วันเดียวนั้น
DAX Formula:

Balance at Year End =
CALCULATE(
    [Balance],
    ENDOFYEAR('DimDate'[Date])
)

Result:

ประเมิน [Balance] ที่วันสิ้นปี (31 ธันวาคม) ของบริบทปัจจุบัน

ตัวอย่างที่ 2: วันสิ้นปีบัญชีสิ้นสุด 31 มีนาคม
Balance at Fiscal Year End = CALCULATE( [Balance], ENDOFYEAR('DimDate'[Date], "03-31") )
เมื่อระบุพารามิเตอร์ YearEndDate เป็น "03-31" ฟังก์ชันจะค้นหาวันที่ 31 มีนาคมในปีเดียวกับบริบทวันที่ปัจจุบัน แล้วคืนวันที่นั้นเป็นตารางสำหรับการกรอง
DAX Formula:

Balance at Fiscal Year End =
CALCULATE(
    [Balance],
    ENDOFYEAR('DimDate'[Date], "03-31")
)

Result:

ประเมินยอดคงเหลือที่วันสิ้นปีบัญชี (31 มีนาคม)

ตัวอย่างที่ 3: ดูตารางวันที่ที่ ENDOFYEAR คืนมา (Calculated Column)
Year End Dates = ENDOFYEAR('DimDate'[Date])
เมื่อใช้ ENDOFYEAR ในคอลัมน์คำนวณ จะได้ตารางเป็นผลลัพธ์ โดยแต่ละแถวจะมีวันเดียว (วันสิ้นปี) ใช้ตรวจสอบการทำงานของฟังก์ชันได้
DAX Formula:

Year End Dates =
ENDOFYEAR('DimDate'[Date])

Result:

ได้ผลลัพธ์เป็นตารางวันที่ที่มีวันสิ้นปี สำหรับแต่ละแถวจะแสดงวันสิ้นปีของปีนั้น

ตัวอย่างที่ 4: เปรียบเทียบยอดสิ้นปีกับยอดเริ่มปี
Year-over-Year Change = VAR EndBalance = CALCULATE([Balance], ENDOFYEAR('DimDate'[Date])) VAR StartBalance = CALCULATE([Balance], STARTOFYEAR('DimDate'[Date]))…
ใช้ VAR เก็บผลลัพธ์ของ ENDOFYEAR และ STARTOFYEAR จากนั้นคำนวณส่วนต่าง โดยวิธีนี้เข้าใจง่ายและไม่ต้องคำนวณ CALCULATE ซ้ำหลายครั้ง
DAX Formula:

Year-over-Year Change =
VAR EndBalance = CALCULATE([Balance], ENDOFYEAR('DimDate'[Date]))
VAR StartBalance = CALCULATE([Balance], STARTOFYEAR('DimDate'[Date]))
RETURN
    EndBalance - StartBalance

Result:

ส่วนต่างระหว่างยอดคงเหลือสิ้นปีและต้นปี

FAQs

ENDOFYEAR ต่างจาก DATESYTD อย่างไร?

ENDOFYEAR คืนเพียง ‘วันเดียว’ (วันสิ้นปี) ส่วน DATESYTD คืน ‘ช่วงของวันที่’ ตั้งแต่ต้นปีถึงวันปัจจุบัน จึงใช้ประโยชน์ต่างกัน: ENDOFYEAR สำหรับ snapshot ที่จุดเวลาสุดท้าย, DATESYTD สำหรับการสะสมตั้งแต่ต้นปี

ควรใช้อินพุต Dates จากตารางแบบไหน?

ควรใช้คอลัมน์วันที่จากตารางวันที่ (date table) ที่ต่อเนื่องและถูกมาร์กเป็น ‘Date Table’ ในโมเดล Power BI หรือ Analysis Services เพื่อให้การคำนวณช่วงเวลาเชื่อถือได้และเร็ว

ถ้าไม่มี YearEndDate จะเป็นยังไง?

ค่าเริ่มต้นคือ “12-31” (31 ธันวาคม) หมายความว่า ENDOFYEAR จะค้นหาวันสิ้นปีตามปีปฏิทินตามปกติ

เมื่อไหร่ควรใช้ ENDOFYEAR กับ CLOSINGBALANCEYEAR?

ENDOFYEAR คืนตารางวันที่ที่สามารถใช้เป็นตัวกรองใน CALCULATE ส่วน CLOSINGBALANCEYEAR เป็นแบบ ‘ลัดวงจร’ ที่ประเมิน Expression ณ วันสิ้นปีโดยตรง หากต้องการควบคุมอย่างละเอียด ใช้ ENDOFYEAR, หากต้องการความสะดวก ใช้ CLOSINGBALANCEYEAR

ENDOFYEAR ใช้ได้กับ Calculated Column หรือไม่?

ได้ แต่ต้องเข้าใจว่ากำลังทำงานในระบบ row context ดังนั้น ENDOFYEAR จะคืนตารางวันที่สำหรับแต่ละแถว ปกติใช้เพื่อตรวจสอบ หรือรวมกับ CONTAINS เพื่อเช็คว่าวันในแถวนั้นเป็นวันสิ้นปีหรือไม่

ถ้ากำหนด YearEndDate ที่ไม่มีข้อมูล จะเป็นอย่างไร?

ENDOFYEAR จะค้นหาวันที่ใกล้เคียงที่สุดในตารางวันที่ของคุณ หากไม่มีข้อมูลเลยในวันที่กำหนด ผลลัพธ์อาจเป็นว่าง (BLANK) หรือคืนข้อผิดพลาด ดังนั้นตรวจสอบให้แน่ใจว่าข้อมูลครอบคลุมวันสิ้นปีที่ต้องการ

Resources & Related

Additional Notes

ENDOFYEAR คืนค่าเป็น ‘ตารางของวันที่’ ที่มีวันสิ้นปีของบริบทวันที่ปัจจุบัน ใช้ประโยชน์สำหรับการคำนวณมาตรวัดแบบกึ่งบวก (semi-additive) เช่น ยอดคงเหลือธนาคาร คลังสินค้า หรือบัญชีลูกหนี้ที่ควรแสดงค่าณ จุดเวลาที่เจาะจง

ที่เจ๋งของ ENDOFYEAR คือความสามารถในการกำหนดวันสิ้นปีบัญชี ได้ ‘ยืดหยุ่น’ สำหรับองค์กรที่มีปีบัญชีแตกต่างจากปีปฏิทิน (เช่น สิ้นสุด 31 มีนาคม หรือ 30 มิถุนายน) ทำให้ไม่ต้องจำกัดอยู่แค่เดือนธันวาคมเท่านั้น

ส่วนตัวผม ENDOFYEAR เป็นหนึ่งในฟังก์ชันเวลาสำคัญที่ช่วยให้การรายงานทางการเงินแม่นยำ เพราะค่า snapshot มักจำเป็นต้องอยู่ที่จุดเวลาสุดท้ายของช่วงที่ประเมิน ไม่อย่างนั้นผลลัพธ์จะ ‘พลาด’ ค่าที่เกิดในวันสุดท้ายของปี

Leave a Reply

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