Date.AddDays ใช้เพิ่มหรือลดจำนวนวันให้กับค่า Date, DateTime หรือ DateTimeZone โดยระบุจำนวนวันที่ต้องการ (ใส่ค่าบวกเพื่อเพิ่มวัน หรือค่าลบเพื่อลดวัน)
=Date.AddDays(dateTime as any, numberOfDays as number) as any
=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 | จำนวนวันที่ต้องการบวกเพิ่ม (หรือลบออก) – รับทศนิยมได้ |
บวก 30 วันจากวันที่ในใบแจ้งหนี้ (InvoiceDate) เพื่อหาวัน Due Date
ลบ 7 วันจากวันที่ปัจจุบันเพื่อดึงข้อมูลย้อนหลัง 1 สัปดาห์
ใช้ร่วมกับ List.Dates เพื่อสร้างรายการวันที่ต่อเนื่องกัน
Date.AddDays(#date(2025, 1, 1), 5)= Date.AddDays(#date(2025, 1, 1), 5)
#date(2025, 1, 6)
Date.AddDays(#date(2025, 1, 15), -7)= Date.AddDays(#date(2025, 1, 15), -7)
#date(2025, 1, 8)
Date.AddDays(#date(2025, 1, 15), 30)= Date.AddDays(#date(2025, 1, 15), 30)
#date(2025, 2, 14)
Table.AddColumn(Orders, "DueDate", each Date.AddDays([OrderDate], 30))= Table.AddColumn(Orders, "DueDate", each Date.AddDays([OrderDate], 30))
คอลัมน์ DueDate = OrderDate + 30 วัน
DateTime.AddDays(#datetime(2025, 1, 1, 0, 0, 0), 1.5)= DateTime.AddDays(#datetime(2025, 1, 1, 0, 0, 0), 1.5)
#datetime(2025, 1, 2, 12, 0, 0)
ได้ครับ ทศนิยมแทนชั่วโมง (1.5 = 1 วันกับ 12 ชั่วโมง) แต่ต้องใช้ DateTime ถึงจะเห็นเวลาที่เปลี่ยนไป ถ้าใช้ Date จะแสดงแค่วันธรรมชาติ
Date.AddDays บวกเป็นจำนวนวันจริง (ข้ามเดือนตามจริง) ส่วน Date.AddMonths บวกเป็นจำนวนเดือน (คงวันที่ แต่เปลี่ยนเดือน) เช่น Jan 31 + 1 เดือน = Feb 28 (ไม่มี Feb 31)
รองรับครับ ถ้าใส่ DateTimeZone จะคืนค่า DateTimeZone พร้อม timezone เดิม
ได้เลย ใส่เลขลบ เช่น Date.AddDays(#date(2025, 1, 15), -10) คือวันที่ 15 ม.ค. ลบไป 10 วัน ได้ 5 ม.ค.
ฟังก์ชัน Date.AddDays ใน Power Query ใช้สำหรับคำนวณวันที่ใหม่โดยการบวกหรือลบจำนวนวันจากวันที่ตั้งต้น เหมาะสำหรับคำนวณวันครบกำหนด (Due Date) หรือหาวันที่ในอดีต
ที่เจ๋งคือ Date.AddDays มันจัดการข้ามเดือน ข้ามปีได้โดยอัตโนมัติ แล้วยังคงประเภท input ไว้ (ถ้าใส่ Date ออกมาก็ Date เหมือนเดิม)
ส่วนตัวผม ผมใช้ Date.AddDays เวลาคำนวณวันส่งของ วันครบกำหนด หรือเมื่อต้องหากำหนดเวลาสัญญา แบบ +30 วัน +60 วัน ได้ง่ายๆ โดยไม่ต้องจำวันในแต่ละเดือน 😎