Thep Excel

Duration.Days – ดึงจำนวนวันจาก Duration

Duration.Days ดึงจำนวนวันจากค่า Duration ซึ่งมีประโยชน์เมื่อต้องการแยกส่วนวันออกจากระยะเวลาที่คำนวณได้ เช่นความต่างระหว่างสองวันที่

=Duration.Days(duration as duration) as nullable number

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
6/10

Difficulty
2/10

Usefulness
6/10

Syntax & Arguments

=Duration.Days(duration as duration) as nullable number

Argument Type Required Default Description
duration duration Yes ค่า Duration ที่ต้องการดึงจำนวนวัน สามารถสร้างจาก #duration() หรือจากการลบวันที่

How it works

คำนวณจำนวนวันลาพักร้อน

ดึงจำนวนวันจากระยะเวลาลาพักร้อนที่คำนวณได้

แสดงระยะเวลาในรูปแบบอ่านง่าย

แยก Duration ออกเป็นส่วนวัน ชั่วโมง นาที เพื่อแสดงผลอ่านง่ายขึ้น

Examples

ตัวอย่างที่ 1: ดึงวันจาก Duration ที่สร้างขึ้นเอง
Duration.Days(#duration(10, 6, 30, 0))
Duration #duration(10, 6, 30, 0) มี 10 วัน 6 ชั่วโมง 30 นาที ดึงจำนวนวันได้ 10 (ไม่นับชั่วโมงและนาที)
Power Query Formula:

=Duration.Days(#duration(10, 6, 30, 0))

Result:

10

ตัวอย่างที่ 2: ดึงจำนวนวันจากการลบวันที่
Duration.Days(#date(2025, 12, 31) - #date(2025, 12, 20))
ความต่างระหว่าง 31 ธันวาคม กับ 20 ธันวาคม คือ 11 วัน ดึงค่านี้ได้โดยใช้ Duration.Days
Power Query Formula:

=Duration.Days(#date(2025, 12, 31) - #date(2025, 12, 20))

Result:

11

ตัวอย่างที่ 3: คำนวณระยะเวลาทำงาน
let StartDate = #date(2025, 1, 1), EndDate = #date(2025, 1, 8), WorkDuration = EndDate - StartDate, Days = Duration.Days(WorkDuration) in Days
คำนวณระยะเวลาระหว่าง 1 มกราคม ถึง 8 มกราคม ได้ 7 วัน ใช้ในรายงานจำนวนวันของโปรเจคหรืองาน
Power Query Formula:

let
    StartDate = #date(2025, 1, 1),
    EndDate = #date(2025, 1, 8),
    WorkDuration = EndDate - StartDate,
    Days = Duration.Days(WorkDuration)
in
    Days

Result:

7

ตัวอย่างที่ 4: ดึงวันจาก Duration ที่มีหลายส่วน
Duration.Days(#duration(3, 12, 45, 30))
Duration #duration(3, 12, 45, 30) มี 3 วัน 12 ชั่วโมง 45 นาที 30 วินาที แต่ Duration.Days ดึงแค่ 3 วัน เท่านั้น ส่วนอื่นจะต้องใช้ Duration.Hours Duration.Minutes Duration.Seconds
Power Query Formula:

=Duration.Days(#duration(3, 12, 45, 30))

Result:

3

FAQs

Duration.Days กับ Duration.TotalDays ต่างกันอย่างไร

ผมชอบใช้ Duration.Days เมื่อต้องการส่วนวันเท่านั้น เช่น Duration มี 10 วัน 6 ชั่วโมง Duration.Days ให้ 10 แต่ Duration.TotalDays ให้ 10.25 (วันทั้งหมดรวมทศนิยม)

สามารถใช้ Duration.Days กับ null ได้หรือ

ได้ครับ ทั้ง input และ output เป็น nullable ถ้า input เป็น null ผลลัพธ์ก็จะเป็น null ส่วนตัวผมมักใช้กับ Coalesce() หรือถ้า…แล้ว เพื่อจัดการกรณี null

ความต่างระหว่าง Duration.Days Duration.Hours Duration.Minutes คืออะไร

ผมเห็นมันเป็นเครื่องมือแยกส่วน Duration.Days ดึงวัน Duration.Hours ดึงชั่วโมง Duration.Minutes ดึงนาที Duration.Seconds ดึงวินาที จากค่า Duration เดียวกัน ใช้ตามสิ่งที่เราต้องการแสดง

Resources & Related

Additional Notes

ฟังก์ชัน Duration.Days ใช้สำหรับแยกจำนวนวันจากค่า Duration ที่สร้างขึ้นเอง หรือจากการลบวันที่ซึ่งจะให้ผลเป็นค่า Duration โดยจะคืนค่าจำนวนวัน (ส่วนวันเท่านั้น) ไม่ใช่จำนวนวันรวมทั้งหมด ถ้า Duration มีชั่วโมง นาที หรือวินาทีด้วยก็จะถูกละเว้นในผลลัพธ์

ที่เจ๋งคือ ฟังก์ชันนี้ใช้ได้กับ null values และจะคืนค่า null ถ้าค่า input เป็น null นอกจากนี้ยังมีเพื่อนฟังก์ชัน Duration.Hours Duration.Minutes Duration.Seconds และ Duration.TotalDays ที่ช่วยให้สามารถแยกหรือรวมส่วนต่างๆ ของ Duration ได้อย่างชาญฉลาด

ส่วนตัวผม มักใช้ Duration.Days เมื่อต้องการรายงานว่างานหรือโปรเจคใช้เวลากี่วัน ไม่สนใจชั่วโมงย่อย เพราะในชีวิตจริงมักสำคัญแค่วันเท่านั้น 😎

Leave a Reply

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