Thep Excel

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

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

=Date.AddMonths(dateTime as any, numberOfMonths as number) as any

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
7/10

Difficulty
3/10

Usefulness
8/10

Syntax & Arguments

=Date.AddMonths(dateTime as any, numberOfMonths as number) as any

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

How it works

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

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

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

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

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

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

Examples

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

=Date.AddMonths(#date(2011, 5, 14), 5)

Result:

#date(2011, 10, 14)

ตัวอย่างที่ 2: เพิ่ม 18 เดือนให้กับ datetime
Date.AddMonths(#datetime(2011, 5, 14, 8, 15, 22), 18)
เพิ่ม 18 เดือนให้กับ 14 พฤษภาคม 2011 เวลา 08:15:22 ได้ผลลัพธ์เป็น 14 พฤศจิกายน 2012 เวลา 08:15:22 โปรดสังเกตว่าส่วนของเวลายังคงเดิม
Power Query Formula:

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

Result:

#datetime(2012, 11, 14, 8, 15, 22)

ตัวอย่างที่ 3: ลบเดือนโดยใช้จำนวนลบ
Date.AddMonths(#date(2011, 5, 14), -3)
ลบ 3 เดือนจาก 14 พฤษภาคม 2011 ได้ผลลัพธ์เป็น 14 กุมภาพันธ์ 2011 ฟังก์ชันยังสามารถใช้กับจำนวนลบเพื่อไปยังวันที่ในอดีตได้
Power Query Formula:

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

Result:

#date(2011, 2, 14)

ตัวอย่างที่ 4: สร้างคอลัมน์กำหนดเวลาสินเชื่อโดยใช้ let…in
let Sales = Table.FromRows( {{#date(2024, 1, 15), "Order A"}, {#date(2024, 2, 20), "Order B"}}, {"OrderDate", "Description"} ), AddDueDate = Table.AddColumn(Sal…
ใช้ Table.AddColumn เพื่อสร้างคอลัมน์ใหม่ DueDate โดยแต่ละแถวใช้ Date.AddMonths บวก 3 เดือนกับวันที่ในคอลัมน์ OrderDate ผลลัพธ์: 15 เมษายน 2024 สำหรับ Order A และ 20 พฤษภาคม 2024 สำหรับ Order B
Power Query Formula:

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

Result:

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

FAQs

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

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

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

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

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

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

Resources & Related

Additional Notes

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

ที่เจ๋งของ Date.AddMonths คือมันอัจฉริยะในการจัดการวันที่ไม่มีอยู่ เช่น ถ้าบอก 31 มกราคม + 1 เดือน ฟังก์ชันจะไม่ error แต่จะส่งคืน 28 หรือ 29 กุมภาพันธ์ (ตามปีอธิกสุรทิน) อย่างชาญฉลาด

ส่วนตัวผม ใช้ Date.AddMonths เยอะตอนทำการวิเคราะห์กำหนดการโครงการหรือคำนวณวันครบกำหนดสินเชื่อ ร่วมกับ Table.AddColumn หรือ Table.TransformColumns เพื่อสร้างคอลัมน์วันที่ใหม่ ทำให้เห็นภาพการไหลของเวลาได้ชัด 😎

Leave a Reply

Your email address will not be published. Required fields are marked *