Thep Excel

NEXTWEEK – เลื่อนช่วงวันที่ไปเป็น “สัปดาห์ถัดไป”

NEXTWEEK คืนตารางวันที่ของสัปดาห์ถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ “สัปดาห์ถัดไป”

=NEXTWEEK(<Dates>)

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
6/10

Difficulty
4/10

Usefulness
6/10

Syntax & Arguments

=NEXTWEEK(<Dates>)

Argument Type Required Default Description
Dates Table Expression Yes คอลัมน์วันที่ หรือ table expression ที่ให้คอลัมน์วันที่ โดยทั่วไปจะอ้างอิงคอลัมน์วันที่จากตารางเดตที่มี Time Intelligence ตั้งไว้

How it works

ยอดขายสัปดาห์ถัดไป

คำนวณ [Total Sales] ของสัปดาห์ถัดไปจากสัปดาห์ที่เลือก

เทียบสัปดาห์ถัดไปกับสัปดาห์ก่อนหน้า

ใช้คู่กับ PREVIOUSWEEK เพื่อวิเคราะห์การเปลี่ยนแปลงรายสัปดาห์

Examples

ตัวอย่างที่ 1: ยอดขายสัปดาห์ถัดไป
ยอดขายสัปดาห์ถัดไป = CALCULATE( [Total Sales], NEXTWEEK('Date'[Date]) )
NEXTWEEK คืนตารางวันที่ของสัปดาห์ถัดไป แล้วให้ CALCULATE ใช้ตารางนั้นเป็นตัวกรองและคำนวณ [Total Sales] ใหม่ภายใต้ Filter Context ที่ได้รับการปรับปรุง
DAX Formula:

ยอดขายสัปดาห์ถัดไป =
CALCULATE(
    [Total Sales],
    NEXTWEEK('Date'[Date])
)

Result:

ได้ยอดขายของสัปดาห์ถัดไปเมื่อเทียบกับสัปดาห์ในบริบทปัจจุบัน

ตัวอย่างที่ 2: เปรียบเทียบกับสัปดาห์ปัจจุบัน
YoW (Year-over-Week) Growth = VAR currentWeekSales = [Total Sales] VAR nextWeekSales = CALCULATE([Total Sales], NEXTWEEK('Date'[Date])) RETURN DIVIDE(nextWeekSa…
ใช้ VAR เพื่อเก็บค่ายอดขายสัปดาห์ปัจจุบาน จากนั้นใช้ NEXTWEEK เพื่อดึงค่าสัปดาห์ถัดไป จากนั้นคำนวณอัตราการเติบโต
DAX Formula:

=YoW (Year-over-Week) Growth =
VAR currentWeekSales = [Total Sales]
VAR nextWeekSales = CALCULATE([Total Sales], NEXTWEEK('Date'[Date]))
RETURN
    DIVIDE(nextWeekSales - currentWeekSales, currentWeekSales, 0)

Result:

ได้อัตราการเติบโตระหว่างสัปดาห์ปัจจุบันและสัปดาห์ถัดไป

ตัวอย่างที่ 3: ยึดตามช่วงที่ผู้ใช้เลือก
ยอดขายสัปดาห์ถัดไป (ตามช่วงที่เลือก) = CALCULATE( [Total Sales], NEXTWEEK(ALLSELECTED('Date'[Date])) )
ALLSELECTED ช่วยให้ NEXTWEEK พิจารณาเฉพาะวันที่ที่ผู้ใช้เลือก ไม่ใช่ทั้งหมดในตารางวันที่
DAX Formula:

=ยอดขายสัปดาห์ถัดไป (ตามช่วงที่เลือก) =
CALCULATE(
    [Total Sales],
    NEXTWEEK(ALLSELECTED('Date'[Date]))
)

Result:

ได้ยอดขายสัปดาห์ถัดไปภายใต้ช่วงที่ผู้ใช้เลือก โดยรักษาตัวกรองอื่น ๆ

ตัวอย่างที่ 4: การจัดอันดับสัปดาห์ (Ranking)
อันดับการขายสัปดาห์ถัดไป = RANKX( ALL(Products[ProductID]), CALCULATE([Total Sales], NEXTWEEK('Date'[Date])), , 0 )
รวม NEXTWEEK กับ RANKX เพื่อดูว่าสินค้าไหนจะขายดีที่สุดในสัปดาห์ข้างหน้า
DAX Formula:

อันดับการขายสัปดาห์ถัดไป =
RANKX(
    ALL(Products[ProductID]),
    CALCULATE([Total Sales], NEXTWEEK('Date'[Date])),
    ,
    0
)

Result:

ได้อันดับสินค้าตามยอดขายของสัปดาห์ถัดไป

FAQs

NEXTWEEK คืนค่าเป็นตารางหรือค่าเดี่ยว?

NEXTWEEK คืนค่าเป็นตารางวันที่ (Table) ที่มีวันที่ทั้งหมดของสัปดาห์ถัดไป จึงมักใช้เป็นตัวกรองใน CALCULATE หรือฟังก์ชัน Time Intelligence อื่น ๆ

สัปดาห์เริ่มวันไหน?

ขึ้นกับรูปแบบตารางวันที่และการกำหนดสัปดาห์ในโมเดลของคุณ (เช่นสัปดาห์เริ่มวันจันทร์หรืออาทิตย์) ควรออกแบบคอลัมน์สัปดาห์ให้สอดคล้องกับการทำธุรกิจของคุณ

NEXTWEEK ใช้ได้กับ DirectQuery mode หรือไม่?

ไม่ได้ NEXTWEEK ไม่สนับสนุนใน DirectQuery mode สำหรับ Calculated Column หรือ RLS rule ควรใช้ Import mode แทน

ถ้าบริบทวันที่ไม่อยู่ในตารางวันที่จะเป็นไงขึ้น?

NEXTWEEK จะคืนค่าตารางว่าง (Blank Table) ดังนั้นต้องมั่นใจว่าตารางวันที่ครอบคลุมวันที่ทั้งหมดที่ใช้ในข้อมูล

Resources & Related

Additional Notes

NEXTWEEK เป็นฟังก์ชัน Time Intelligence ที่คืนค่า “ตารางวันที่” ของสัปดาห์ถัดไป เมื่อเทียบกับวันที่ในบริบทปัจจุบัน

สิ่งที่ต้องเข้าใจก็คือ NEXTWEEK ไม่ได้คืนค่าตัวเดี่ยวแต่คืนค่าเป็นตาราง (Table) ของวันที่ทั้งหมดในสัปดาห์ถัดไป จึงมักใช้เป็นตัวกรองภายใน CALCULATE เพื่อปรับเปลี่ยน Filter Context ให้ไปคำนวณที่สัปดาห์ถัดไปแทน

ส่วนตัวผมคิดว่า NEXTWEEK เป็นเครื่องมือที่น่าใช้มากในรายงาน “ทำนาย” หรือ “วางแผน” เพราะมันช่วยให้เราดูข้อมูลสัปดาห์ข้างหน้า ไม่ว่าวันนี้จะเป็นวันไหนในสัปดาห์ก็ตาม อีกอย่างที่เจ๋งคือ NEXTWEEK ทำงานอัตโนมัติตามวันที่ในบริบท ดังนั้นถ้าปุ่มกรองเปลี่ยนจากวันอังคารเป็นวันพฤหัสบดี ผลลัพธ์ของ NEXTWEEK ก็จะปรับตัวเองโดยอัตโนมัติ 😎

Leave a Reply

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