---
title: Duration.TotalDays – แปลงระยะเวลาเป็นจำนวนวันทั้งหมด
url: https://www.thepexcel.com/functions/power-query/duration-functions/duration-totaldays/
type: function-explainer
program: Power Query
syntax: Duration.TotalDays(duration as nullable duration) as nullable number
date: 2025-12-12
updated: 2025-12-26
scores:
  popularity: 6
  difficulty: 2
  usefulness: 6
---

# Duration.TotalDays – แปลงระยะเวลาเป็นจำนวนวันทั้งหมด

> Duration.TotalDays ใช้แปลงค่า duration เป็นจำนวนวันทั้งหมด (รวมทศนิยม) เหมาะสำหรับคำนวณช่วงเวลาที่ต้

## คำอธิบาย

Duration.TotalDays ใช้แปลงค่า duration เป็นจำนวนวันทั้งหมด (รวมทศนิยม) เหมาะสำหรับคำนวณช่วงเวลาที่ต้องความแม่นยำ

## Syntax

```excel
Duration.TotalDays(duration as nullable duration) as nullable number
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| duration | Yes | duration |  | ค่า duration ที่ต้องการแปลงเป็นจำนวนวันทั้งหมด |

## ตัวอย่าง

### 1. แปลง duration พื้นฐาน

```excel
Duration.TotalDays(#duration(5, 4, 3, 2))
```

**ผลลัพธ์:** `5.1687731481481478`

สร้าง duration ที่มี 5 วัน 4 ชั่วโมง 3 นาที 2 วินาที แล้วแปลงเป็นวันทั้งหมด ส่วนทศนิยม 0.1687... แทนชั่วโมง นาที วินาที

### 2. ระยะห่างวันที่เป็นวัน

```excel
Duration.TotalDays(#date(2022, 3, 4) - #date(2022, 2, 25))
```

**ผลลัพธ์:** `7`

คำนวณระยะห่างระหว่างวันที่ 25 กุมภาพันธ์ 2022 และ 4 มีนาคม 2022 ได้ 7 วัน

### 3. ใช้ในการคำนวณเพิ่มเติม

```excel
Duration.TotalDays(#duration(10, 12, 30, 0)) * 24
```

**ผลลัพธ์:** `252`

แปลง duration 10 วัน 12 ชั่วโมง 30 นาที เป็นวันทั้งหมด แล้วคูณด้วย 24 เพื่อแปลงเป็นชั่วโมง

### 4. ใช้กับตัวแปรหรือคอลัมน์

```excel
[DurationColumn] = Duration.TotalDays([Duration])
```

**ผลลัพธ์:** `ค่าทศนิยมแสดงจำนวนวันทั้งหมด`

ใช้ในการสร้างคอลัมน์ใหม่ที่แปลง duration ทั้งหมดในคอลัมน์ [Duration] เป็นจำนวนวันทั้งหมด

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

- ผมแนะนำให้ใช้ Duration.TotalDays เวลาต้องทำการคำนวณทางคณิตศาสตร์กับ duration เพราะมันส่งคืนตัวเลข ง่ายต่อการบวก ลบ คูณ หาร

- ส่วนตัวผม เวลานำเข้าข้อมูลจากระบบอื่นที่ใช้ duration ผมชอบแปลงด้วย Duration.TotalDays แล้วเพิ่มคำเป็น 'วัน' เพื่อให้ผู้ใช้เข้าใจง่าย

- ระวัง null value นะ ผมเคยลืมและได้ error โดยการใช้ Duration.TotalDays ด้วย conditional columns ก็ช่วยได้

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

**Q: Duration.TotalDays กับ Duration.Days ต่างกันยังไง?**

ผม พบว่า Duration.Days ส่งคืนแค่ส่วนวันของ duration (0-ค่าสูงสุด) แต่ Duration.TotalDays ส่งคืนวันทั้งหมดรวมทศนิยม เช่น duration 2 วัน 12 ชั่วโมง Duration.Days ให้ 2 แต่ Duration.TotalDays ให้ 2.5

**Q: ใช้ Duration.TotalDays กับวันที่ได้เลยหรือ?**

ได้นะ ผมใช้เวลาคำนวณระยะห่างวันที่ เช่น #date(2022, 3, 4) - #date(2022, 2, 25) จะได้ duration ที่ผ่านสูตร Duration.TotalDays ได้ปกติ

**Q: ถ้าค่า duration เป็น null จะเป็นไง?**

ส่งคืน null ครับ ผมแนะนำให้ใช้ null coalescing (??) หรือ if-then-else เพื่อจัดการกรณีนี้

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

- [Microsoft Learn - Duration.TotalDays](https://learn.microsoft.com/en-us/powerquery-m/duration-totaldays) _(official)_
- [Microsoft Learn - Duration.Days](https://learn.microsoft.com/en-us/powerquery-m/duration-days) _(official)_

---

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