---
title: Date.AddDays – เพิ่มหรือลดจำนวนวัน
url: https://www.thepexcel.com/functions/power-query/date-functions/date-adddays/
type: function-explainer
program: Power Query
syntax: "Date.AddDays(dateTime as any, numberOfDays as number) as any"
date: 2025-12-03
updated: 2025-12-23
scores:
  popularity: 7
  difficulty: 3
  usefulness: 8
---

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

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

## คำอธิบาย

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

## Syntax

```excel
Date.AddDays(dateTime as any, numberOfDays as number) as any
```

## Arguments

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

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

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

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

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

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

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

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

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: บวก 5 วัน

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

**ผลลัพธ์:** `#date(2025, 1, 6)`

จากวันที่ 1 มกราคม บวกเพิ่มไป 5 วัน เป็นวันที่ 6 มกราคม

### 2. ตัวอย่างที่ 2: ลบ 1 สัปดาห์ (ค่าลบ)

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

**ผลลัพธ์:** `#date(2025, 1, 8)`

วันที่ 15 มกราคม ลบไป 7 วัน ได้เป็นวันที่ 8 มกราคม

### 3. ตัวอย่างที่ 3: ข้ามเดือน (30 วัน)

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

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

บวก 30 วันจากวันที่ 15 มกราคม ได้ 14 กุมภาพันธ์ (ข้ามเดือนอัตโนมัติ)

### 4. ตัวอย่างที่ 4: ใช้กับคอลัมน์ (Due Date)

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

**ผลลัพธ์:** `คอลัมน์ DueDate = OrderDate + 30 วัน`

เพิ่มคอลัมน์ใหม่โดยคำนวณกำหนดเวลาชำระเงิน (30 วันจากวันสั่งซื้อ)

### 5. ตัวอย่างที่ 5: ทศนิยม (1.5 วัน = 1 วัน 12 ชั่วโมง)

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

**ผลลัพธ์:** `#datetime(2025, 1, 2, 12, 0, 0)`

บวก 1.5 วันจากเที่ยงคืน ได้เป็นเที่ยงวันของวันถัดไป (ต้องใช้ DateTime เพื่อเห็นเวลา)

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

- ใช้กับ Table.AddColumn เพื่อสร้างคอลัมน์วันที่ใหม่ เช่น DueDate = OrderDate + 30 วัน

- ข้ามปี (Year Boundary) ได้เอง - ไม่ต้องจัดการเพิ่มเติม เช่น Dec 25 + 10 วัน = Jan 4 ปีถัดไป

- ทศนิยมสำหรับการคำนวณชั่วโมง - ใช้ 0.5 สำหรับ 12 ชั่วโมง แต่ต้องใช้ DateTime ถึงจะเห็นผล

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

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

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

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

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

**Q: รองรับ DateTimeZone ไหม?**

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

**Q: ลบวันได้ไหม?**

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

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

- [Microsoft Learn: Date.AddDays](https://learn.microsoft.com/en-us/powerquery-m/date-adddays) _(official)_
- [PowerQuery.how: Date Functions](https://powerquery.how) _(article)_

---

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