Thep Excel

Date.AddWeeks – เพิ่มจำนวนสัปดาห์ให้กับวันที่

Date.AddWeeks เพิ่มจำนวนสัปดาห์ (สัปดาห์ = 7 วัน) ให้กับค่า date, datetime หรือ datetimezone ที่กำหนด เหมาะสำหรับการคำนวณตามรอบเวลาประจำสัปดาห์

=Date.AddWeeks(dateTime as any, numberOfWeeks as number) as any

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
5/10

Difficulty
3/10

Usefulness
6/10

Syntax & Arguments

=Date.AddWeeks(dateTime as any, numberOfWeeks as number) as any

Argument Type Required Default Description
dateTime any (date, datetime, datetimezone) Yes ค่า date, datetime หรือ datetimezone ที่ต้องการเพิ่มจำนวนสัปดาห์
numberOfWeeks number Yes จำนวนสัปดาห์ที่ต้องการเพิ่ม สามารถใช้จำนวนลบเพื่อลบสัปดาห์ (เช่น -2 = ลบ 2 สัปดาห์)

How it works

วางแผนปฏิทินกิจกรรม

กำหนดวันที่สิ้นสุดของสัปดาห์ที่ 1, 2, 3 เป็นต้นสำหรับกิจกรรมตามสัปดาห์

คำนวณลำดับเวลาในโครงการ

กำหนดจุดตรวจสอบความคืบหน้าของโครงการตามสัปดาห์

Examples

ตัวอย่างที่ 1: เพิ่ม 2 สัปดาห์
Date.AddWeeks(#date(2011, 5, 14), 2)
เพิ่ม 2 สัปดาห์ (14 วัน) ให้กับ 14 พฤษภาคม 2011 ได้ผลลัพธ์เป็น 28 พฤษภาคม 2011 ฟังก์ชันจะนับแบบตรงไป 7 วัน × 2 สัปดาห์ = 14 วันพอดี
Power Query Formula:

=Date.AddWeeks(#date(2011, 5, 14), 2)

Result:

#date(2011, 5, 28)

ตัวอย่างที่ 2: เพิ่ม 4 สัปดาห์
Date.AddWeeks(#date(2011, 5, 14), 4)
เพิ่ม 4 สัปดาห์ (28 วัน) ให้กับ 14 พฤษภาคม 2011 ได้ผลลัพธ์เป็น 11 มิถุนายน 2011 ใช้สำหรับการวางแผนระยะกลางหรือคำนวณ deadline ที่ยาวออกไปประมาณ 1 เดือน
Power Query Formula:

=Date.AddWeeks(#date(2011, 5, 14), 4)

Result:

#date(2011, 6, 11)

ตัวอย่างที่ 3: ลบสัปดาห์
Date.AddWeeks(#date(2011, 5, 14), -1)
ลบ 1 สัปดาห์ (7 วัน) จาก 14 พฤษภาคม 2011 ได้ผลลัพธ์เป็น 7 พฤษภาคม 2011 ใช้เมื่อต้องการไปถึงสัปดาห์ที่แล้ว หรือคำนวณวันเริ่มต้นของโปรเจคจากวันสิ้นสุด
Power Query Formula:

=Date.AddWeeks(#date(2011, 5, 14), -1)

Result:

#date(2011, 5, 7)

ตัวอย่างที่ 4: ใช้กับ datetime
Date.AddWeeks(#datetime(2011, 5, 14, 10, 30, 0), 3)
ใช้กับ datetime โดยจะเพิ่มเฉพาะส่วนของวันที่ ส่วนเวลา (10:30:00) จะถูกเก็บรักษาไว้เหมือนเดิม ฟังก์ชันจึง safe ที่ใช้กับข้อมูลที่มีเวลาแนบมาด้วย
Power Query Formula:

=Date.AddWeeks(#datetime(2011, 5, 14, 10, 30, 0), 3)

Result:

#datetime(2011, 6, 4, 10, 30, 0)

FAQs

Date.AddWeeks นับวันจากวันไหน?

Date.AddWeeks นับเพิ่มแบบปกติ 1 สัปดาห์ = 7 วัน โดยไม่สนใจว่าวันเริ่มต้นเป็นวันจันทร์หรือวันอาทิตย์ แค่บวก 7 วันตรงไป ผมเคยงงเพราะคิดว่าจะ “จัดแนว” ให้ตรงตอนท้ายสัปดาห์ แต่ปรากฎว่าไม่ได้ทำแบบนั้น 😅

Date.AddWeeks กับ Date.AddDays(date, 7) ต่างกันอย่างไร?

ผลลัพธ์ออกมาเหมือนกันเลย แต่ทำไมถึงต้องใช้ Date.AddWeeks? ก็เพราะว่า Code ของเราจะ readable มากขึ้น ถ้าคนอื่นอ่าน Date.AddWeeks(date, 4) จะรู้ทันทีว่ากำลังเพิ่ม “4 สัปดาห์” แต่ถ้า Date.AddDays(date, 28) ต้องนั่งนับ 28 ÷ 7 อีกครั้งหนึ่ง 555

สามารถใช้ไปด้วยแค่วันที่หรือต้องมีเวลาด้วย?

ทั้งสองแบบใช้ได้ครับ ถ้าส่งเข้า date จะคืน date ถ้าส่งเข้า datetime จะคืน datetime ถ้าส่งเข้า datetimezone จะคืน datetimezone ฟังก์ชันนี้ชาญฉลาดตรงนี้ ไม่ต้องแปลง data type กลับไปกลับมา

จะใช้กับตัวแปร Column ได้มั้ย?

ได้ครับ ถ้าเซลล์หรือ Column มีค่า date หรือ datetime อยู่แล้ว ก็เขียน = Table.AddColumn(Source, “NextWeek”, each Date.AddWeeks([DateColumn], 1)) เป็นต้น ผมใช้อย่างนี้บ่อยมาก เวลาต้องสร้าง Column ใหม่ที่เก็บวันที่ในอนาคต

Resources & Related

Additional Notes

Date.AddWeeks เพิ่มจำนวนสัปดาห์ให้กับค่าวันที่ โดยนับแบบตรงไป 1 สัปดาห์ = 7 วันเท่านั้น ไม่ขึ้นอยู่กับว่าวันเริ่มต้นเป็นวันจันทร์หรือวันอาทิตย์ ใช้จำนวนลบเพื่อลบสัปดาห์ออกจากวันที่ดั้งเดิม ค่า return จะคืนประเภท data type เดียวกับที่ส่งเข้ามา

ที่เจ๋งคือสามารถใช้ได้กับ date, datetime และ datetimezone ทั้งหมด ฟังก์ชันจึงยืดหยุ่นมากในการทำงานกับข้อมูลลักษณะต่างๆ ไม่ต้องแปลงประเภท data type ซ้ำซ้อน

ส่วนตัวผมใช้บ่อยมากเวลาต้องคำนวณตามรอบสัปดาห์ เช่น วางแผนโปรเจค คำนวณ deadline ในอนาคต หรือไปดึงข้อมูลสัปดาห์ที่แล้ว ปลอดภัยกว่า Date.AddDays(date, 7) เพราะมีความชัดเจนว่ากำลังบวก “สัปดาห์” ไม่ใช่ “7 วัน” 😎

Leave a Reply

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