---
title: EDATE – คำนวณวันที่ห่างจากวันเริ่มต้นตามจำนวนเดือน
url: https://www.thepexcel.com/functions/dax/date-and-time/edate-dax/
type: function-explainer
program: DAX
syntax: "=EDATE(<start_date>, <months>)"
date: 2025-12-13
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 3
  usefulness: 6
---

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

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

## คำอธิบาย

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

## Syntax

```excel
=EDATE(&lt;start_date&gt;, &lt;months&gt;)
```

**Variant**

```excel
EDATE(&lt;StartDate&gt;, &lt;Months&gt;)
```

คืนวันที่ที่เลื่อนจาก StartDate ตามจำนวนเดือนที่กำหนด

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| start_date | Yes | DateTime |  | วันที่เริ่มต้น สามารถใช้การอ้างอิง column หรือค่าวันที่เป็นข้อความ |
| months | Yes | Integer |  | จำนวนเดือนที่ต้องการเพิ่มหรือลด ใช้ตัวเลขบวกสำหรับลงในอนาคต ตัวเลขลบสำหรับย้อนกลับไปในอดีต |

## เคสการใช้งาน

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

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

_เหมาะกับ:_ due-date

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

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

_เหมาะกับ:_ shift-month

## ตัวอย่าง

### 1. คำนวณวันครบกำหนดสินเชื่อ 3 เดือน

```excel
=EDATE([TransactionDate], 3)
```

**ผลลัพธ์:** `วันที่ครบกำหนดสินเชื่อหลังจากลงนามสัญญา 3 เดือน`

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

### 2. คำนวณวันส่งสินค้า (ย้อนหลัง 2 เดือน)

```excel
=EDATE([OrderDate], -2)
```

**ผลลัพธ์:** `วันที่ก่อนสั่งซื้อ 2 เดือน`

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

### 3. สร้าง Measure สำหรับหารวมรายได้ที่ครบกำหนด

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

**ผลลัพธ์:** `รวมรายได้ที่กำหนดส่งในเดือนถัดไป`

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

### 4. ตัวอย่างกับค่าวันที่เป็นข้อความ

```excel
=EDATE("2024-01-31", 1)
```

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

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

## หมายเหตุเพิ่มเติม

- ใช้ EDATE กับ TODAY() หรือ NOW() เพื่อคำนวณวันที่ในอนาคตหรืออดีตจากวันปัจจุบัน เช่น =EDATE(TODAY(), 6)

- รวม EDATE กับ CALCULATE และ FILTER เพื่อวิเคราะห์ข้อมูลตามช่วงเดือน

- ใช้ EDATE ตรวจสอบวันครบกำหนด: =IF(TODAY() >= EDATE([StartDate], [Months]), "ครบกำหนดแล้ว", "ยังไม่ครบ")

- ระบุวันที่เป็นข้อความ ให้แน่ใจว่าตรงตามรูปแบบตามภูมิศาสตร์ของระบบ

- หลีกเลี่ยงการใช้ EDATE ในกรณีที่ต้องการวันสุดท้ายของเดือนเสมอ ให้ใช้ EOMONTH แทน

## คำถามที่พบบ่อย

**Q: EDATE ต่างกับ EOMONTH อย่างไร?**

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

**Q: ใช้กับ Power BI ได้ไหม?**

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

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

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

**Q: ใช้ได้กับ DirectQuery ไหม?**

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

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

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

## ฟังก์ชันที่เกี่ยวข้อง

- [EOMONTH – หาวันสิ้นเดือนจากวันที่เริ่มต้นและจำนวนเดือนที่เลื่อน](https://www.thepexcel.com/functions/dax/date-and-time/eomonth-dax/)
- dateadd
- [DATE – สร้างวันที่จากปี เดือน วัน](https://www.thepexcel.com/functions/dax/date-and-time/date-dax/)
- today-dax
- [MONTH (DAX) – ดึงเลขเดือนจากค่า datetime](https://www.thepexcel.com/functions/dax/date-and-time/month-dax/)
- datesinperiod

## แหล่งข้อมูลเพิ่มเติม

- [DAX Guide - EDATE Function](https://dax.guide/edate/) _(guide)_
- [Microsoft Learn - EDATE Function](https://learn.microsoft.com/en-us/dax/edate-function-dax) _(official)_
- [DAX Patterns - Date Functions](https://www.daxpatterns.com) _(article)_

---

_Source: [https://www.thepexcel.com/functions/dax/date-and-time/edate-dax/](https://www.thepexcel.com/functions/dax/date-and-time/edate-dax/)_
