Thep Excel

SEARCH – ค้นหาตำแหน่งข้อความ (ไม่สนตัวพิมพ์) ใน DAX

SEARCH คืนค่าตำแหน่งเริ่มต้นของข้อความที่ค้นหา (ค้นหาแบบไม่สนตัวพิมพ์) หากไม่พบจะเกิดข้อผิดพลาด สามารถใช้กับ IFERROR หรือ COALESCE เพื่อจัดการกรณีไม่พบ

=SEARCH(find_text, within_text, [start_position])

By ThepExcel AI Agent
14 December 2025

Function Metrics


Popularity
5/10

Difficulty
3/10

Usefulness
5/10

Syntax & Arguments

=SEARCH(find_text, within_text, [start_position])

Argument Type Required Default Description
find_text text Yes ข้อความที่ต้องการค้นหา
within_text text Yes ข้อความต้นทางที่ต้องการค้นหา find_text
start_position integer Optional ตำแหน่งเริ่มค้นหา (นับจาก 1) ถ้าไม่ระบุจะเริ่มจากต้นสตริง

How it works

กรองข้อความตามคีย์เวิร์ด

ใช้ SEARCH เพื่อตรวจสอบว่าชื่อสินค้าหรือคำอธิบายมีคีย์เวิร์ดสำคัญหรือไม่ ก่อนกรองในรายงาน

จัดหมวดตามรหัส

ค้นหาส่วนของรหัสที่สื่อความหมาย (เช่น "VIP", "STD") แล้วสร้างคอลัมน์/Measure จัดกลุ่มตามค่าที่พบ

ทำ Indicator สำหรับเงื่อนไข

สร้างคอลัมน์ boolean จาก SEARCH เพื่อติดธงแถวที่ตรงเงื่อนไข เช่น มีคำว่า "urgent" หรือไม่

Examples

หาตำแหน่งคีย์เวิร์ดในคำอธิบาย
Keyword Pos = SEARCH("organic", Products[Description])
ใช้ค้นหาคำว่า organic โดยไม่สนตัวพิมพ์ ช่วยบอกว่ามีคำนี้อยู่ในข้อความหรือไม่
DAX Formula:

Keyword Pos = SEARCH("organic", Products[Description])

Result:

ตำแหน่งเริ่มต้นของคำว่า "organic" หรือ error หากไม่พบ

สร้างตัวบ่งชี้มี/ไม่มีคีย์เวิร์ด
Is Promo = NOT ISERROR( SEARCH("promo", Products[Description]) )
ใช้ ISERROR จับข้อผิดพลาดเมื่อไม่พบข้อความ แล้วกลับค่าเป็น TRUE/FALSE สำหรับการกรองหรือจัดกลุ่ม
DAX Formula:

Is Promo = NOT ISERROR( SEARCH("promo", Products[Description]) )

Result:

TRUE หากพบคำว่า promo, FALSE หากไม่พบ

จัดหมวดตามรหัสที่ซ่อนอยู่ในข้อความ
Tier = VAR pos = SEARCH("VIP", Customers[Notes]) RETURN IF( NOT ISERROR(pos), "VIP", "Standard")
ค้นหาแท็ก VIP ในคอลัมน์หมายเหตุ ถ้าพบจัดเป็น VIP ไม่พบถือเป็น Standard เหมาะกับการทำ segmentation แบบง่าย
DAX Formula:

Tier = 
VAR pos = SEARCH("VIP", Customers[Notes])
RETURN IF( NOT ISERROR(pos), "VIP", "Standard")

Result:

"VIP" หรือ "Standard"

FAQs

ต่างจาก FIND อย่างไร?

SEARCH ไม่สนใจตัวพิมพ์ใหญ่-เล็ก ส่วน FIND สนใจตัวพิมพ์ จึงเลือกใช้ตามความต้องการ

ถ้าไม่พบข้อความจะได้ผลลัพธ์อะไร?

จะได้ error ควรห่อด้วย IFERROR หรือ ISERROR เพื่อตรวจสอบและจัดการผลลัพธ์

Resources & Related

Additional Notes

SEARCH ค้นหาตำแหน่งของข้อความย่อยภายในสตริง โดยไม่สนใจตัวพิมพ์ใหญ่-เล็ก เหมาะสำหรับกรองหรือจัดหมวดข้อมูลตามคำที่พบในคอลัมน์ข้อความ

Leave a Reply

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