Thep Excel

ISAFTER – ตรวจตำแหน่งค่าที่อยู่ถัดไปตามลำดับ

ISAFTER ตรวจว่าค่าในบริบทปัจจุบันอยู่ “หลัง” ค่าอ้างอิงตามลำดับที่กำหนด (ASC/DESC) และรองรับหลายคีย์ต่อเนื่อง เช่น Country แล้ว State ใช้สร้างตัวกรองแบบ start-after หรือทำหน้าต่างข้อมูลที่อิงลำดับได้อย่างชัดเจน

=ISAFTER(<expression>, <compare_to>[, sort_order][, ...])

By ThepExcel AI Agent
14 December 2025

Function Metrics


Popularity
3/10

Difficulty
4/10

Usefulness
3/10

Syntax & Arguments

=ISAFTER(<expression>, <compare_to>[, sort_order][, ...])

Argument Type Required Default Description
expression scalar Yes ค่าหรือคอลัมน์ที่ใช้เปรียบเทียบตำแหน่งกับค่าอ้างอิง (มักเป็นคอลัมน์ที่ถูกเรียงลำดับ)
compare_to scalar Yes ค่าหรือคอลัมน์ที่เป็นจุดอ้างอิง เพื่อตรวจว่าค่าแรกอยู่หลังหรือไม่
sort_order ASC|DESC Optional ทิศทางการเรียงลำดับ (ค่าเริ่มต้นคือ ASC) สามารถระบุซ้ำเมื่อเปรียบเทียบหลายคีย์ต่อเนื่อง

Examples

กรองยอดขายหลังวันตัด
Future Sales = CALCULATE( SUM( Sales[Amount] ), ISAFTER( 'Date'[Date], DATE(2024, 1, 1), ASC ) )
ISAFTER ตรวจว่าบริบทวันที่ปัจจุบันอยู่หลังวันที่ตัดตามลำดับ ASC จึงกรองเฉพาะยอดขายอนาคต
DAX Formula:

Future Sales = 
CALCULATE(
    SUM( Sales[Amount] ),
    ISAFTER( 'Date'[Date], DATE(2024, 1, 1), ASC )
)

Result:

ยอดขายหลังวันที่ 1 ม.ค. 2024

ใช้หลายคีย์ Country + State
After Key = FILTER( Geo, ISAFTER( Geo[Country], "TH", ASC, Geo[State], "BKK", ASC ) )
เปรียบเทียบคีย์ Country และ State ต่อเนื่องด้วย sort_order แยกแต่ละคู่ เพื่อคัดเฉพาะแถวที่มา “ถัดไป” หลังจุดอ้างอิง
DAX Formula:

After Key = 
FILTER(
    Geo,
    ISAFTER(
        Geo[Country], "TH", ASC,
        Geo[State], "BKK", ASC
    )
)

Result:

คืนแถวที่อยู่หลัง (TH, BKK) ตามลำดับ Country -> State

สร้างเงื่อนไขเลื่อนหน้าต่างข้อมูล
After Context Sum = CALCULATE( SUM( Sales[Amount] ), ISAFTER( Sales[Date], MAX(Sales[Date]), ASC ) )
ใช้ ISAFTER เป็นตัวกรองใน CALCULATE เพื่อสร้างหน้าต่างข้อมูลที่เริ่มหลังวันที่ใน context ปัจจุบันอย่างชัดเจน
DAX Formula:

After Context Sum = 
CALCULATE(
    SUM( Sales[Amount] ),
    ISAFTER( Sales[Date], MAX(Sales[Date]), ASC )
)

Result:

ผลรวมยอดขายหลังวันที่ในบริบทปัจจุบัน

FAQs

แตกต่างจาก ISONORAFTER อย่างไร

ISAFTER ต้องการตำแหน่ง “ถัดไป” เท่านั้น (ไม่รวมค่าที่เท่ากับจุดอ้างอิง) ส่วน ISONORAFTER รวมค่าที่เท่ากับจุดอ้างอิงด้วย

ต้องใช้กับตารางที่เรียงลำดับแล้วหรือไม่

ควรระบุลำดับ (ASC/DESC) ให้ชัดเจน โดยใช้คอลัมน์ที่มีการ sort อยู่แล้วเพื่อให้ผลลัพธ์ตรงตามที่คาดหวัง

ใช้ใน DirectQuery ได้หรือไม่

ไม่รองรับในโหมด DirectQuery สำหรับคอลัมน์คำนวณหรือ RLS ตามข้อกำหนดของ Microsoft

Resources & Related

Resources

Additional Notes

ISAFTER คืนค่า TRUE เมื่อตำแหน่งของค่าแรกอยู่หลังค่าที่สองตามลำดับที่กำหนด (ASC/DESC) เหมาะสำหรับกรองข้อมูลแบบ “เริ่มหลังจุดนี้” หรือช่วยสร้างหน้าต่างข้อมูลโดยอิงคีย์เรียงหลายชั้น

Leave a Reply

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