Thep Excel

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

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

fx
=Duration.Days(duration) as nullable number

ความนิยม6/10
ความยาก2/10
ประโยชน์6/10

อัปเดต 12 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
duration duration ค่า Duration ที่ต้องการดึงจำนวนวัน สามารถสร้างจาก #duration() หรือจากการลบวันที่

Additional Notes

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

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

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

How it works

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

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

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

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

Examples

ตัวอย่างที่ 1: ดึงวันจาก Duration ที่สร้างขึ้นเองDuration.Days(#duration(10, 6, 30, 0))

Duration #duration(10, 6, 30, 0) มี 10 วัน 6 ชั่วโมง 30 นาที ดึงจำนวนวันได้ 10 (ไม่นับชั่วโมงและนาที)

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

ผลลัพธ์10
ตัวอย่างที่ 2: ดึงจำนวนวันจากการลบวันที่Duration.Days(#date(2025, 12, 31) – #date(2025, 12, 20))

ความต่างระหว่าง 31 ธันวาคม กับ 20 ธันวาคม คือ 11 วัน ดึงค่านี้ได้โดยใช้ Duration.Days

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

ผลลัพธ์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 วัน ใช้ในรายงานจำนวนวันของโปรเจคหรืองาน

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

ผลลัพธ์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

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

ผลลัพธ์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

ฟังก์ชันที่ผู้เขียนโยงไว้กับ Duration.Days จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้Duration.DaysDuration functions
Duration functions (4)
Duration.Hours

Duration.Hours ใช้สำหรับการประมวลผลข้อมูล

Duration.Minutes

Duration.Minutes ใช้สำหรับการประมวลผลข้อมูล

Duration.Seconds

Duration.Seconds ใช้สำหรับการประมวลผลข้อมูล

Duration.TotalDays

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

Date functions (1)
Date.StartOfYear

Date.StartOfYear คืนค่าวันแรกของปี (1 มกราคม เวลา 00:00:00) จากวันที่ใดๆ ที่ส่งเข้ามา ใช้สำหรับคำนวณตัวชี้วัดแบบ Year-To-Date หรือจัดกลุ่มข้อมูลตามปี

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่