Thep Excel

FILTERS – คืนค่าตารางของค่าที่ถูกกรองโดยตรง

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

=FILTERS(<column>)

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
5/10

Difficulty
5/10

Usefulness
5/10

Syntax & Arguments

=FILTERS(<column>)

Argument Type Required Default Description
column column Yes คอลัมน์ที่ต้องการดึง “รายการค่าที่ถูกกรองโดยตรง” ออกมาเป็นตาราง

How it works

ตรวจสอบว่าคอลัมน์ถูกกรองอยู่หรือไม่

นับจำนวนค่าที่ถูกกรองโดยตรงบนคอลัมน์ เพื่อแยกกรณี filtered vs not filtered

ใช้เป็นส่วนหนึ่งของ Measure ที่ตอบสนองต่อการเลือกของผู้ใช้

นำ FILTERS ไปใช้ใน CALCULATE เพื่อให้ Measure เคารพเฉพาะค่าที่ผู้ใช้เลือกโดยตรงในคอลัมน์นั้น

Examples

ตัวอย่างที่ 1: นับจำนวนค่าที่ถูกกรองโดยตรง
Direct Selection Count = COUNTROWS( FILTERS( Product[Category] ) )
ถ้าผู้ใช้ไม่ได้กรองคอลัมน์นี้โดยตรง ผลลัพธ์มักเป็น 0 แต่ถ้าเลือกจากตัวแบ่งส่วนข้อมูลจะได้จำนวนค่าที่เลือก
DAX Formula:

Direct Selection Count =
COUNTROWS(
    FILTERS( Product[Category] )
)

Result:

จำนวนค่าที่ถูกเลือก/ถูกกรองโดยตรงบน Product[Category] (เช่น 0, 1, 3)

ตัวอย่างที่ 2: สร้างสถานะว่าใช้ตัวกรองโดยตรงหรือไม่
Category Selection Status = IF( COUNTROWS(FILTERS(Product[Category])) > 0, "Selected", "Not Selected" )
ใช้เพื่อตรวจสอบบริบทตัวกรองในรายงานหรือทำ Tooltip ให้ผู้ใช้เข้าใจว่ามีการเลือก/กรองคอลัมน์นี้โดยตรงอยู่หรือไม่
DAX Formula:

Category Selection Status =
IF(
    COUNTROWS(FILTERS(Product[Category])) > 0,
    "Selected",
    "Not Selected"
)

Result:

"Filtered" หรือ "Not Filtered"

ตัวอย่างที่ 3: ใช้ FILTERS เป็นตัวกรองใน CALCULATE
Sales (Direct Category Filters) = CALCULATE( [Total Sales], FILTERS(Product[Category]) )
แนวคิดคือส่งตารางค่าที่ถูกกรองโดยตรงเข้าไปเป็นอาร์กิวเมนต์ตัวกรองของ CALCULATE เพื่อควบคุมว่า Measure จะรับตัวกรองชุดใด
DAX Formula:

=Sales (Direct Category Filters) =
CALCULATE(
    [Total Sales],
    FILTERS(Product[Category])
)

Result:

ยอดขายที่คงตัวกรองเฉพาะค่าที่ถูกกรองโดยตรงบน Category ตามบริบทปัจจุบัน

FAQs

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

FILTERS คืนค่าเป็น “ตาราง” เสมอ (เป็นรายการค่าที่ถูกกรอง) ดังนั้นถ้าต้องการใช้เป็นเงื่อนไขหรือเอาไปนับ มักใช้ COUNTROWS ครอบ

FILTERS เหมาะกับงานแบบไหนมากที่สุด?

เหมาะกับงานตรวจสอบ/อธิบายบริบทตัวกรอง เช่น ทำ Debug measure, ทำ Tooltip, หรือทำตรรกะที่ต้องรู้ว่าผู้ใช้กรองคอลัมน์นั้นโดยตรงอยู่หรือไม่

Resources & Related

Additional Notes

FILTERS เป็นฟังก์ชันที่คืนค่าเป็น “ตาราง” ของค่าที่ถูกกรอง โดยตรง บนคอลัมน์ที่ระบุ เช่น ค่าที่ผู้ใช้เลือกจากตัวแบ่งส่วนข้อมูล (Slicer) ของคอลัมน์นั้น ๆ จึงเหมาะกับงานตรวจสอบว่าคอลัมน์ถูกกรองอยู่หรือไม่ และเหมาะกับการสร้างตรรกะที่ต้องอาศัย “รายการค่าที่ผู้ใช้เลือก” ในบริบทปัจจุบัน

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

Leave a Reply

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