---
title: Date.AddMonths – เพิ่มจำนวนเดือนให้กับวันที่
url: https://www.thepexcel.com/functions/power-query/date-functions/date-addmonths/
type: function-explainer
program: Power Query
syntax: "Date.AddMonths(dateTime as any, numberOfMonths as number) as any"
date: 2025-12-12
updated: 2025-12-23
scores:
  popularity: 7
  difficulty: 3
  usefulness: 8
---

# Date.AddMonths – เพิ่มจำนวนเดือนให้กับวันที่

> Date.AddMonths เพิ่มจำนวนเดือนที่ระบุให้กับค่าวันที่ โดยคืนค่า date datetime หรือ datetimezone ขึ้นอ

## คำอธิบาย

Date.AddMonths เพิ่มจำนวนเดือนที่ระบุให้กับค่าวันที่ โดยคืนค่า date datetime หรือ datetimezone ขึ้นอยู่กับประเภทข้อมูลอินพุต ฟังก์ชันนี้จำเป็นสำหรับการคำนวณวันครบกำหนด กำหนดตารางเวลาโครงการ และการวิเคราะห์ข้อมูลตามช่วงเวลา

## Syntax

```excel
Date.AddMonths(dateTime as any, numberOfMonths as number) as any
```

**Variant**

```excel
Date.AddMonths(#date(2011, 5, 14), 5)
```

เพิ่ม 5 เดือนให้กับวันที่ที่ระบุ

**Variant**

```excel
Date.AddMonths(#datetime(2011, 5, 14, 8, 15, 22), 18)
```

เพิ่ม 18 เดือนให้กับค่า datetime โดยเก็บเวลาไว้

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| dateTime | Yes | any |  | ค่า date datetime หรือ datetimezone ที่ต้องการเพิ่มเดือน |
| numberOfMonths | Yes | number |  | จำนวนเดือนที่ต้องการเพิ่ม สามารถเป็นจำนวนลบเพื่อลบเดือนได้ |

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

### คำนวณวันครบกำหนด

ใช้คำนวณวันครบกำหนดชำระหนี้ โดยเพิ่มจำนวนเดือนจากวันที่ออกเอกสาร

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

### กำหนดตารางเวลาสัญญา

กำหนดวันที่สิ้นสุดสัญญาที่มีระยะเวลานับเป็นเดือน

_เหมาะกับ:_ scheduling

### วิเคราะห์ข้อมูลตามช่วงเวลา

แบ่งข้อมูลเป็นกลุ่มรายเดือน โดยคำนวณวันที่สิ้นสุดแต่ละช่วง

_เหมาะกับ:_ time-period-analysis

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: เพิ่ม 5 เดือนให้กับวันที่

```excel
Date.AddMonths(#date(2011, 5, 14), 5)
```

**ผลลัพธ์:** `#date(2011, 10, 14)`

เพิ่ม 5 เดือนให้กับ 14 พฤษภาคม 2011 ได้ผลลัพธ์เป็น 14 ตุลาคม 2011 ฟังก์ชันจะคงวันที่ไว้เหมือนเดิม (14) แต่เปลี่ยนเดือนเป็นเดือนที่ 5 + 5 = 10

### 2. ตัวอย่างที่ 2: เพิ่ม 18 เดือนให้กับ datetime

```excel
Date.AddMonths(#datetime(2011, 5, 14, 8, 15, 22), 18)
```

**ผลลัพธ์:** `#datetime(2012, 11, 14, 8, 15, 22)`

เพิ่ม 18 เดือนให้กับ 14 พฤษภาคม 2011 เวลา 08:15:22 ได้ผลลัพธ์เป็น 14 พฤศจิกายน 2012 เวลา 08:15:22 โปรดสังเกตว่าส่วนของเวลายังคงเดิม

### 3. ตัวอย่างที่ 3: ลบเดือนโดยใช้จำนวนลบ

```excel
Date.AddMonths(#date(2011, 5, 14), -3)
```

**ผลลัพธ์:** `#date(2011, 2, 14)`

ลบ 3 เดือนจาก 14 พฤษภาคม 2011 ได้ผลลัพธ์เป็น 14 กุมภาพันธ์ 2011 ฟังก์ชันยังสามารถใช้กับจำนวนลบเพื่อไปยังวันที่ในอดีตได้

### 4. ตัวอย่างที่ 4: สร้างคอลัมน์กำหนดเวลาสินเชื่อโดยใช้ let...in

```excel
let
    Sales = Table.FromRows(
        {{#date(2024, 1, 15), "Order A"}, {#date(2024, 2, 20), "Order B"}},
        {"OrderDate", "Description"}
    ),
    AddDueDate = Table.AddColumn(Sales, "DueDate", each Date.AddMonths([OrderDate], 3))
in
    AddDueDate
```

**ผลลัพธ์:** `ตารางที่มีคอลัมน์ใหม่ DueDate โดยคำนวณจากการเพิ่ม 3 เดือนให้กับ OrderDate`

ใช้ Table.AddColumn เพื่อสร้างคอลัมน์ใหม่ DueDate โดยแต่ละแถวใช้ Date.AddMonths บวก 3 เดือนกับวันที่ในคอลัมน์ OrderDate ผลลัพธ์: 15 เมษายน 2024 สำหรับ Order A และ 20 พฤษภาคม 2024 สำหรับ Order B

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

- ถ้าต้องการเพิ่มเดือนให้กับคอลัมน์ในตารางทั้งหมด ใช้ Table.AddColumn แล้วเรียก Date.AddMonths ในเชิงข้อมูล

- ฟังก์ชัน Date.AddMonths จะปรับค่าวันโดยอัตโนมัติหากวันไม่มีอยู่ในเดือนปลายทาง (เช่น 31 มกราคม + 1 = 28/29 กุมภาพันธ์)

- สามารถใช้จำนวนลบเพื่อไปยังวันที่ในอดีต เช่น Date.AddMonths(#date(2011, 5, 14), -12) = 14 พฤษภาคม 2010

- เมื่อใช้กับ datetime หรือ datetimezone ส่วนเวลา (time zone) จะยังคงเดิม มีแต่วันที่เปลี่ยน

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

**Q: ถ้าฉันเพิ่ม 1 เดือน จะเกิดอะไรขึ้นเมื่อวันที่เป็น 31 มกราคม?**

ฟังก์ชันจะส่งคืน 28 หรือ 29 กุมภาพันธ์ (ขึ้นอยู่กับปีอธิกสุรทิน) เนื่องจากกุมภาพันธ์ไม่มี 31 วัน ฟังก์ชันจะปรับค่าวันโดยอัตโนมัติ

**Q: Date.AddMonths กับ Date.AddYears ต่างกันอย่างไร?**

Date.AddMonths เพิ่มตามจำนวนเดือนที่ระบุ ส่วน Date.AddYears เพิ่มตามจำนวนปี ใช้ Date.AddYears เมื่อต้องการแก้ไขในระดับปี ใช้ Date.AddMonths เมื่อต้องการแก้ไขในระดับเดือน

**Q: สามารถใช้ Date.AddMonths กับคอลัมน์ในตารางได้หรือไม่?**

ได้ ใช้ Table.TransformColumns หรือ Table.AddColumn เพื่อใช้ Date.AddMonths กับแต่ละแถวในคอลัมน์วันที่

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

- [Microsoft Learn: Date.AddMonths](https://learn.microsoft.com/en-us/powerquery-m/date-addmonths) _(official)_
- [Power Query M Function Reference](https://learn.microsoft.com/en-us/powerquery-m/power-query-m-function-reference) _(official)_

---

_Source: [https://www.thepexcel.com/functions/power-query/date-functions/date-addmonths/](https://www.thepexcel.com/functions/power-query/date-functions/date-addmonths/)_
