คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › วันที่ (Date) › ENDOFYEAR

ENDOFYEAR

DAX · Power BIวันที่ (Date)ระดับพื้นฐานแบบ 3 · แนวคิดเดียวกัน คนละฟังก์ชัน

อัปเดต 2 ต.ค. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop

เอกสารอ้างอิง: ENDOFYEAR (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)

ENDOFYEAR คืออะไร

คืนวันสุดท้ายของปีในตัวกรองปัจจุบัน ใช้หาวันที่เหลือในปีและยอดที่ต้องทำต่อวันเพื่อให้ถึงเป้า

ใช้เมื่อไหร่

  • นับวันที่เหลือในปี
  • หายอดที่ต้องทำต่อวันเพื่อให้ถึงเป้าทั้งปี

รูปแบบสูตร

=ENDOFYEAR(<dates> or <calendar> [,<year_end_date>])

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
datesจำเป็นคอลัมน์วันที่ของตาราง Date
[year_end_date]ไม่บังคับวันสิ้นปีบัญชีเป็นข้อความ ไม่ใส่ = 31 ธ.ค. (หน้านี้ยังไม่รองรับ)

ลองเลย: ยอดที่ต้องทำต่อวันเพื่อให้ถึง 4.5 ล้านในปี

คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน

[วันสิ้นปี] = ENDOFYEAR('วันที่'[Date])
[วันที่เหลือในปี] = DATEDIFF(MAX('วันที่'[Date]), ENDOFYEAR('วันที่'[Date]), DAY)
[ยอดขาย] = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด]))
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขายไม่มีตัวกรอง
  • สินค้าไม่มีตัวกรอง
  • วันที่[ปี] = 2025[ชื่อเดือน] = "ม.ค."
  • ยอดขายเหลือ 23 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
ยอดที่ต้องทำต่อวันเพื่อให้ถึง 4.5 ล้านในปี
ยอดที่ต้องทำต่อวันเพื่อให้ถึง 4.5 ล้านในปี · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
เดือนวันสิ้นปีวันที่เหลือในปียอดที่ต้องทำต่อวันยอดขาย
ม.ค.
ก.พ.
มี.ค.
เม.ย.
พ.ค.
มิ.ย.
ก.ค.
ส.ค.
ก.ย.
ต.ค.
พ.ย.
ธ.ค.
ยอดรวม
12,295ยอดที่ต้องทำต่อวัน · ม.ค. · 2025
ดูทีละขั้นขั้น 8 / 8

ถ้าคุณเขียน Excel อยู่แล้ว

EXCEL=DATE(YEAR(A2),12,31)

Excel สร้างวันที่ 31 ธ.ค. เอง

DAXวันที่เหลือในปี = DATEDIFF(MAX('วันที่'[Date]), ENDOFYEAR('วันที่'[Date]), DAY)

นับจากวันสุดท้ายของแถวถึง 31 ธ.ค.

ข้อผิดพลาดและเคล็ดลับ

แถว ธ.ค. ไม่เหลือวัน DIVIDE จึงได้ค่าว่างแทน Error
year_end_date ใช้กับปีบัญชี เช่น "6/30" ส่วนปีของวันที่ในข้อความไม่ถูกใช้ (Microsoft Learn)
ใช้คู่กับ STARTOFYEAR เพื่อหาจำนวนวันทั้งปี เช่น ปี 2024 มี 366 วัน

แบบทดสอบ 3 ข้อ

1. แถว ธ.ค. ของ DATEDIFF(MAX('วันที่'[Date]), ENDOFYEAR(…), DAY) ได้เท่าใด

2. year_end_date ไม่ใส่มีค่าเริ่มต้นเป็นอะไร

3. ปีบัญชีสิ้นสุด 30 มิ.ย. เขียนอย่างไร

ไฟล์ฝึก ENDOFYEAR

9Expert-DAX-ENDOFYEAR-Practice-v1.0.xlsx

รุ่น 1.0 · 26/9/2026 · 70 KB · ไม่มี Macro · นำเข้า Power BI แล้วทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นยอดขายสินค้าพนักงานขายวันที่คงคลังเป้าภูมิภาคแบบฝึกหัดเฉลย

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1[ยอดที่ต้องทำต่อวัน] ยอดขายต่อวันที่ต้องทำในวันที่เหลือเพื่อให้ยอดทั้งปีถึง 4.5 ล้าน · กรอง ปี = 2025, เดือน = ก.ค.
  2. ข้อ 2[ยอดที่ต้องทำต่อวัน] ยอดขายต่อวันที่ต้องทำในวันที่เหลือเพื่อให้ยอดทั้งปีถึง 4.5 ล้าน · กรอง ปี = 2025, เดือน = พ.ค.
  3. ข้อ 3[วันที่เหลือในปี] จำนวนวันจากวันสุดท้ายของเดือนในแถวถึงสิ้นปี · กรอง ช่องทาง = Modern Trade, ปี = 2025, เดือน = ต.ค.
  4. ข้อ 4[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ปี = 2025
  5. ข้อ 5[วันที่เหลือในปี] จำนวนวันจากวันสุดท้ายของเดือนในแถวถึงสิ้นปี · กรอง ปี = 2025, เดือน = ส.ค.

ไปต่อ

อยากเขียน DAX สำหรับรายงานจริงทั้งระบบ

ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)

ดูหลักสูตร