Thep Excel

EDATEคำนวณวันที่ห่างจากวันเริ่มต้นตามจำนวนเดือน

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

fx
=EDATE(<start_date>, <months>)

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

อัปเดต 13 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
start_date DateTime วันที่เริ่มต้น สามารถใช้การอ้างอิง column หรือค่าวันที่เป็นข้อความ
months Integer จำนวนเดือนที่ต้องการเพิ่มหรือลด ใช้ตัวเลขบวกสำหรับลงในอนาคต ตัวเลขลบสำหรับย้อนกลับไปในอดีต

Additional Notes

EDATE เป็นฟังก์ชันวันที่ที่ถูกออกแบบมาเพื่อหาวันที่ห่างออกไปตามจำนวนเดือนที่ระบุ เหมาะสำหรับการคำนวณวันครบกำหนดสินเชื่อ วันส่งมอบสินค้า หรือวันหมดอายุสัญญา

สิ่งที่เจ๋งของ EDATE คือมันเก็บวันที่เดิมไว้ เช่น ถ้าคุณมี 31 มกราคม และเพิ่ม 1 เดือน EDATE จะให้ 28 กุมภาพันธ์ (หรือ 29 ในปีอุ่นลุง) ซึ่งต่างจาก EOMONTH ที่จะปัดเศษเป็นวันสุดท้ายของเดือนเสมอ

ส่วนตัวผม EDATE มีประโยชน์มากเมื่อต้องการวันที่ที่ตรงตามกำหนดเดือน เช่นสัญญาจ่ายรายเดือน หากปล่อยสินเชื่อวันที่ 15 ของเดือน ใช้ EDATE ก็จะได้วันที่ 15 ของเดือนถัดไป ไม่ต้องกังวลว่าเดือนไหนจะมีวันน้อยกว่า

How it works

หาวันครบกำหนดในอีก N เดือน

เช่น วันครบกำหนดชำระในอีก 2 เดือนจากวันเริ่ม

เลื่อนวันที่ไปเดือนก่อน/เดือนถัดไป

เช่น เทียบกับเดือนก่อนหน้าโดยเลื่อน -1 เดือน

Examples

คำนวณวันครบกำหนดสินเชื่อ 3 เดือนEDATE([TransactionDate], 3)

ใช้ EDATE เพื่อหาวันที่ห่างจากวันลงนาม 3 เดือนพอดี หากลงนาม 15 มกราคม ก็ได้ 15 เมษายน

fx
=EDATE([TransactionDate], 3)

ผลลัพธ์วันที่ครบกำหนดสินเชื่อหลังจากลงนามสัญญา 3 เดือน
คำนวณวันส่งสินค้า (ย้อนหลัง 2 เดือน)EDATE([OrderDate], -2)

ใช้ตัวเลขลบเพื่อหาวันที่ย้อนกลับ เหมาะสำหรับติดตามวงจรการผลิต

fx
=EDATE([OrderDate], -2)

ผลลัพธ์วันที่ก่อนสั่งซื้อ 2 เดือน
สร้าง Measure สำหรับหารวมรายได้ที่ครบกำหนดRevenue Next Month = CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[DueDate] = EDATE(TODAY(), 1)))

ใช้ EDATE ร่วมกับ CALCULATE และ FILTER เพื่อหารายได้ที่ต้องส่งในเดือนหน้า

fx
Revenue Next Month = CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[DueDate] = EDATE(TODAY(), 1)))

ผลลัพธ์รวมรายได้ที่กำหนดส่งในเดือนถัดไป
ตัวอย่างกับค่าวันที่เป็นข้อความEDATE("2024-01-31", 1)

เมื่อเดือนหน้าน้อยกว่า 31 วัน EDATE จะปัดเศษให้เป็นวันสุดท้ายของเดือน

fx
=EDATE("2024-01-31", 1)

ผลลัพธ์2024-02-29 (ในปีอุ่นลุง)

FAQs

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

EDATE เก็บวันที่เดิมไว้ (31 มกราคม + 1 เดือน = 28 กุมภาพันธ์) แต่ EOMONTH จะปัดเศษเป็นวันสุดท้ายของเดือนเสมอ ใช้ EDATE เมื่อต้องการรักษาวันที่ของเดือน

ใช้กับ Power BI ได้ไหม?+

ได้ EDATE ใช้งานได้ในทุก DAX environment เช่น Power BI Desktop, Power BI Service (Calculated columns เท่านั้น), SQL Server Analysis Services, และ Azure Analysis Services

ถ้า months ไม่ใช่จำนวนเต็มจะเป็นยังไง?+

DAX จะตัดส่วนทศนิยมทิ้ง ตัวอย่างเช่น months = 1.9 จะถือว่า 1 เดือน

ใช้ได้กับ DirectQuery ไหม?+

ไม่ได้ EDATE ไม่รองรับ DirectQuery mode สำหรับ calculated columns หรือ RLS rules

หากวันที่เริ่มต้นเป็นวันสุดท้ายของเดือน เช่น 31 มกราคม จะเป็นยังไง?+

ถ้าเดือนถัดไปมีวันน้อยกว่า 31 วัน EDATE จะให้วันสุดท้ายของเดือนนั้น (เช่น 28 หรือ 29 กุมภาพันธ์)

Resources & Related

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

ฟังก์ชันนี้EDATEDate and Time
Date and Time (3)
DATE

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

EOMONTH

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

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

Time Intelligence (1)
DATEADD

DATEADD คืนค่าตารางวันที่ ที่ถูกเลื่อนออกไปจากช่วงวันที่ใน Context ปัจจุบัน ตามจำนวน (NumberOfIntervals) และหน่วย (Interval) ที่กำหนด เช่น เลื่อนย้อนหลัง 1 เดือน หรือเลื่อนไปข้างหน้า 1 ปี

Comments

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