Thep Excel

Date.AddDays – เพิ่มหรือลดจำนวนวัน

Date.AddDays ใช้เพิ่มหรือลดจำนวนวันให้กับค่า Date, DateTime หรือ DateTimeZone โดยระบุจำนวนวันที่ต้องการ (ใส่ค่าบวกเพื่อเพิ่มวัน หรือค่าลบเพื่อลดวัน)

=Date.AddDays(dateTime as any, numberOfDays as number) as any

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
7/10

Difficulty
3/10

Usefulness
8/10

Syntax & Arguments

=Date.AddDays(dateTime as any, numberOfDays as number) as any

Argument Type Required Default Description
dateTime date/datetime/datetimezone Yes วันที่เริ่มต้นที่ต้องการคำนวณ (รับ Date, DateTime หรือ DateTimeZone)
numberOfDays number Yes จำนวนวันที่ต้องการบวกเพิ่ม (หรือลบออก) – รับทศนิยมได้

How it works

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

บวก 30 วันจากวันที่ในใบแจ้งหนี้ (InvoiceDate) เพื่อหาวัน Due Date

หาวันที่ย้อนหลัง

ลบ 7 วันจากวันที่ปัจจุบันเพื่อดึงข้อมูลย้อนหลัง 1 สัปดาห์

สร้างช่วงเวลา (Date Range)

ใช้ร่วมกับ List.Dates เพื่อสร้างรายการวันที่ต่อเนื่องกัน

Examples

ตัวอย่างที่ 1: บวก 5 วัน
Date.AddDays(#date(2025, 1, 1), 5)
จากวันที่ 1 มกราคม บวกเพิ่มไป 5 วัน เป็นวันที่ 6 มกราคม
Power Query Formula:

= Date.AddDays(#date(2025, 1, 1), 5)

Result:

#date(2025, 1, 6)

ตัวอย่างที่ 2: ลบ 1 สัปดาห์ (ค่าลบ)
Date.AddDays(#date(2025, 1, 15), -7)
วันที่ 15 มกราคม ลบไป 7 วัน ได้เป็นวันที่ 8 มกราคม
Power Query Formula:

= Date.AddDays(#date(2025, 1, 15), -7)

Result:

#date(2025, 1, 8)

ตัวอย่างที่ 3: ข้ามเดือน (30 วัน)
Date.AddDays(#date(2025, 1, 15), 30)
บวก 30 วันจากวันที่ 15 มกราคม ได้ 14 กุมภาพันธ์ (ข้ามเดือนอัตโนมัติ)
Power Query Formula:

= Date.AddDays(#date(2025, 1, 15), 30)

Result:

#date(2025, 2, 14)

ตัวอย่างที่ 4: ใช้กับคอลัมน์ (Due Date)
Table.AddColumn(Orders, "DueDate", each Date.AddDays([OrderDate], 30))
เพิ่มคอลัมน์ใหม่โดยคำนวณกำหนดเวลาชำระเงิน (30 วันจากวันสั่งซื้อ)
Power Query Formula:

= Table.AddColumn(Orders, "DueDate", each Date.AddDays([OrderDate], 30))

Result:

คอลัมน์ DueDate = OrderDate + 30 วัน

ตัวอย่างที่ 5: ทศนิยม (1.5 วัน = 1 วัน 12 ชั่วโมง)
DateTime.AddDays(#datetime(2025, 1, 1, 0, 0, 0), 1.5)
บวก 1.5 วันจากเที่ยงคืน ได้เป็นเที่ยงวันของวันถัดไป (ต้องใช้ DateTime เพื่อเห็นเวลา)
Power Query Formula:

= DateTime.AddDays(#datetime(2025, 1, 1, 0, 0, 0), 1.5)

Result:

#datetime(2025, 1, 2, 12, 0, 0)

FAQs

ใช้ทศนิยมได้ไหม เช่น 1.5 วัน?

ได้ครับ ทศนิยมแทนชั่วโมง (1.5 = 1 วันกับ 12 ชั่วโมง) แต่ต้องใช้ DateTime ถึงจะเห็นเวลาที่เปลี่ยนไป ถ้าใช้ Date จะแสดงแค่วันธรรมชาติ

ต่างจาก Date.AddMonths อย่างไร?

Date.AddDays บวกเป็นจำนวนวันจริง (ข้ามเดือนตามจริง) ส่วน Date.AddMonths บวกเป็นจำนวนเดือน (คงวันที่ แต่เปลี่ยนเดือน) เช่น Jan 31 + 1 เดือน = Feb 28 (ไม่มี Feb 31)

รองรับ DateTimeZone ไหม?

รองรับครับ ถ้าใส่ DateTimeZone จะคืนค่า DateTimeZone พร้อม timezone เดิม

ลบวันได้ไหม?

ได้เลย ใส่เลขลบ เช่น Date.AddDays(#date(2025, 1, 15), -10) คือวันที่ 15 ม.ค. ลบไป 10 วัน ได้ 5 ม.ค.

Resources & Related

Additional Notes

ฟังก์ชัน Date.AddDays ใน Power Query ใช้สำหรับคำนวณวันที่ใหม่โดยการบวกหรือลบจำนวนวันจากวันที่ตั้งต้น เหมาะสำหรับคำนวณวันครบกำหนด (Due Date) หรือหาวันที่ในอดีต

ที่เจ๋งคือ Date.AddDays มันจัดการข้ามเดือน ข้ามปีได้โดยอัตโนมัติ แล้วยังคงประเภท input ไว้ (ถ้าใส่ Date ออกมาก็ Date เหมือนเดิม)

ส่วนตัวผม ผมใช้ Date.AddDays เวลาคำนวณวันส่งของ วันครบกำหนด หรือเมื่อต้องหากำหนดเวลาสัญญา แบบ +30 วัน +60 วัน ได้ง่ายๆ โดยไม่ต้องจำวันในแต่ละเดือน 😎

Leave a Reply

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