Thep Excel

EOMONTHหาวันสิ้นเดือนจากวันที่เริ่มต้นและจำนวนเดือนที่เลื่อน

EOMONTH คืนค่าวันสิ้นเดือนของเดือนที่เลื่อนจาก StartDate ตามจำนวน Months (บวก/ลบได้) เหมาะกับการหาวันปิดงวด วันครบกำหนด และการจัดการช่วงเวลาแบบรายเดือน

fx
=EOMONTH(<StartDate>, <Months>)

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

อัปเดต 13 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
StartDate date/datetime วันที่อ้างอิงเริ่มต้น
Months number จำนวนเดือนที่ต้องการเลื่อน (บวก=ไปข้างหน้า, ลบ=ย้อนหลัง)

Additional Notes

EOMONTH คืนค่าวัน “สิ้นเดือน” (datetime) โดยเริ่มจากวันที่ StartDate แล้วเลื่อนจำนวนเดือนตาม Months (บวก/ลบได้) ไม่ว่าวันอ้างอิงจะเป็นวันไหนในเดือนนั้น มันก็ยังคืนค่าเป็นวันสุดท้ายของเดือนเสมอ

ส่วนตัวผม EOMONTH เป็นฟังก์ชันที่มีประโยชน์สำหรับการจัดการข้อมูลตามงวดเวลา โดยเฉพาะการคำนวณวันครบกำหนดของบิล วันปิดงวดบัญชี หรือการรายงานตามปลายเดือน ต่างจาก EDATE ที่พยายามรักษาวันเดิมไว้ 😎

How it works

หาวันสิ้นเดือนของเดือนปัจจุบัน

ใช้ EOMONTH(StartDate, 0) เพื่อได้วันสิ้นเดือนของ StartDate

หาวันสิ้นเดือนล่วงหน้า/ย้อนหลัง

เช่น สิ้นเดือนหน้า (Months=1) หรือสิ้นเดือนก่อน (Months=-1)

Examples

ตัวอย่างที่ 1: วันสิ้นเดือนของวันที่ในคอลัมน์Month End Date = EOMONTH(Sales[OrderDate], 0)

ใช้สำหรับสร้างคอลัมน์ช่วยเพื่อจัดกลุ่มข้อมูลรายเดือน เช่นสิ้นสุด 31 ม.ค. สิ้นสุด 28 ก.พ. เป็นต้น

fx
Month End Date =
EOMONTH(Sales[OrderDate], 0)

ผลลัพธ์ได้วันสิ้นเดือนของ OrderDate ในแต่ละแถว
ตัวอย่างที่ 2: วันสิ้นเดือนของเดือนถัดไปNext Month End = EOMONTH(TODAY(), 1)

ใช้ TODAY() เป็นจุดอ้างอิง แล้วเลื่อนไป 1 เดือน เหมาะสำหรับการคำนวณวันครบกำหนดของเดือนหน้า

fx
Next Month End =
EOMONTH(TODAY(), 1)

ผลลัพธ์ได้วันสิ้นเดือนของเดือนถัดไปจากวันนี้
ตัวอย่างที่ 3: วันสิ้นเดือนย้อนหลัง 3 เดือนThree Months Ago End = EOMONTH(TODAY(), -3)

ใช้ค่า Months ติดลบเพื่อย้อนกลับตามจำนวนเดือนที่ต้องการ เช่นการดึงข้อมูลรายไตรมาส

fx
Three Months Ago End =
EOMONTH(TODAY(), -3)

ผลลัพธ์ได้วันสิ้นเดือนย้อนหลัง 3 เดือนจากเดือนปัจจุบัน
ตัวอย่างที่ 4: เปรียบเทียบยอดขายกับเดือนก่อนหน้าPrevMonth Sales Comparison = VAR CurrentMonthEnd = EOMONTH(MAX(Sales[OrderDate]), 0) VAR PrevMonthEnd = EOMONTH(MAX(Sales[OrderDate]), -1) RETURN CALCULATE( SUM…

หา EOMONTH ของเดือนปัจจุบัน จากนั้นเลื่อนไป -1 เดือน ใช้ CALCULATE ระบุระยะเวลา

fx
PrevMonth Sales Comparison =
VAR CurrentMonthEnd = EOMONTH(MAX(Sales[OrderDate]), 0)
VAR PrevMonthEnd = EOMONTH(MAX(Sales[OrderDate]), -1)
RETURN
CALCULATE(
SUM(Sales[Amount]),
Sales[OrderDate] <= PrevMonthEnd
)

ผลลัพธ์ยอดขายรวมสำหรับเดือนก่อนหน้า

FAQs

EOMONTH คืนค่าเป็นชนิดอะไร?+

คืนค่าเป็นวันที่/เวลา (datetime) ซึ่งเป็นวันสุดท้ายของเดือนที่คำนวณได้ เช่น 31 มกราคม 2024, 29 กุมภาพันธ์ 2024 เป็นต้น

EOMONTH ต่างจาก EDATE อย่างไร?+

EOMONTH คืนวันสิ้นเดือนของเดือนที่เลื่อนเสมอ ส่วน EDATE เลื่อนวันที่ไปตามจำนวนเดือนโดยพยายามรักษาวันเดิมไว้ เช่น EDATE(31 Jan, 1) = 28 Feb แต่ EOMONTH(31 Jan, 1) = 29 Feb

วิธีหาวันต้นเดือน (First day of month) ยังไง?+

ใช้ EOMONTH(date, -1) + 1 เพื่อหาวันต้นเดือนของเดือนปัจจุบัน เช่น EOMONTH(15 Jan, -1) + 1 = 1 Jan

EOMONTH ใช้ได้ใน Calculated Column หรือ Measure เท่านั้น?+

ทั้งสองอย่างได้ แต่พฤติกรรมต่างกัน: ใน Calculated Column มันทำงานตามแต่ละแถว ใน Measure ต้องจัดการ Filter Context อย่างระมัดระวัง

เกิดข้อผิดพลาด 'Invalid start_date' ยังไง?+

โดยปกติเกิดจากค่า StartDate ไม่ใช่ datetime format หรือเป็น NULL ให้ใช้ IFERROR หรือ IF เพื่อตรวจสอบ เช่น IFERROR(EOMONTH(Sales[OrderDate], 1), "Invalid date")

Resources & Related

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

ฟังก์ชันนี้EOMONTHDate and Time
Date and Time (6)
DATE

DATE สร้างค่าวันที่จากตัวเลข Year/Month/Day แล้วคืนค่าเป็นชนิด datetime เหมาะกับการประกอบวันที่จากคอลัมน์แยกส่วนหรือสร้างวันที่อ้างอิง เช่น วันแรกของเดือน วันตัดยอด

DAY

DAY คืนค่าเลขวันของเดือนจากค่าวันที่/เวลา (1–31) เป็นฟังก์ชันพื้นฐานสำหรับการวิเคราะห์ตามวันของเดือน การจัดกลุ่ม และการสร้างคอลัมน์ช่วย

EDATE

EDATE รับวันที่เริ่มต้นและจำนวนเดือนที่ต้องการเลื่อนไปข้างหน้า/ย้อนกลับ แล้วคืนวันที่ใหม่ที่รักษาวันเดิม (หรือวันสุดท้ายของเดือนถัดไปถ้าวันเดิมเกิน) เหมาะสำหรับวันครบกำหนดชำระ บันทึกงวด และตารางผ่อน

EDATE

EDATE คืนค่าวันที่ที่ห่างจากวันเริ่มต้นตามจำนวนเดือนที่ระบุ ใช้สำหรับคำนวณวันครบกำหนด หรือวันกำหนดส่งแบบเดือนปกติ

MONTH (DAX)

MONTH ดึงเลขเดือน (integer 1-12) จากค่า datetime โดยรับ input เป็น datetime value, column reference, หรือ text representation ของวันที่ และคืนค่าตั้งแต่ 1 (มกราคม) ถึง 12 (ธันวาคม) ตาม Gregorian calendar ใช้สร้าง calculated column ใน Date table เพื่อเป็น sort column สำหรับชื่อเดือน และใช้ใน measure เพื่อสร้าง conditional logic กับ custom time intelligence calculations

ฟังก์ชัน YEAR ใน DAX

ดึงปีจากวันที่ในรูปแบบตัวเลข 4 หลัก สำหรับวิเคราะห์ข้อมูลตามปี

Comments

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