คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › ข้อความ › CONTAINSSTRING

CONTAINSSTRING

DAX · Power BIข้อความระดับพื้นฐานแบบ 3 · แนวคิดเดียวกัน คนละฟังก์ชัน

อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop

เอกสารอ้างอิง: CONTAINSSTRING (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)

CONTAINSSTRING คืออะไร

ตรวจว่าข้อความมีคำที่ค้นหาอยู่หรือไม่ ไม่สนตัวพิมพ์เล็กใหญ่ ใช้ ? และ * เป็นตัวแทนได้ ได้ TRUE หรือ FALSE

ใช้เมื่อไหร่

  • กรองสินค้าที่ชื่อมีคำที่กำหนด
  • ตรวจว่าข้อความมีคำที่สนใจหรือไม่ โดยไม่สนตัวพิมพ์

รูปแบบสูตร

=CONTAINSSTRING(<within_text>, <find_text>)

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
within_textจำเป็นข้อความที่ค้นหาข้างใน
find_textจำเป็นคำที่ต้องการหา ใช้ ? แทนหนึ่งตัวอักษร * แทนหลายตัว และ ~ นำหน้าเมื่อต้องการหา ? หรือ * จริง

ลองเลย: ยอดขายของสินค้าที่ชื่อมีคำที่กำหนด แยกตามภูมิภาค

คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน

[ยอดขาย] = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด]))
[ยอดสินค้าขนาด มล.] = CALCULATE([ยอดขาย], CONTAINSSTRING('สินค้า'[ชื่อสินค้า], "มล."))
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขาย[ภูมิภาค] = "กลาง"
  • สินค้า[ชื่อสินค้า] 4 ค่า
  • วันที่[ปี] = 2025
  • ยอดขายเหลือ 32 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
ยอดขายของสินค้าที่ชื่อมีคำที่กำหนด แยกตามภูมิภาค
ยอดขายของสินค้าที่ชื่อมีคำที่กำหนด แยกตามภูมิภาค · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
ภูมิภาคยอดขายยอดสินค้าแพ็คยอดสินค้าขนาด มล.
กลาง
เหนือ
ตะวันออกเฉียงเหนือ
ตะวันออก
ใต้
ยอดรวม
353,527ยอดสินค้าแพ็ค · กลาง · 2025
ดูทีละขั้นขั้น 4 / 4

ถ้าคุณเขียน Excel อยู่แล้ว

EXCEL=SUMPRODUCT(ISNUMBER(SEARCH("แพ็ค", ชื่อสินค้า)) * ยอดสุทธิ)

Excel ใช้ ISNUMBER กับ SEARCH ตรวจว่ามีคำนั้นหรือไม่

DAXยอดสินค้าแพ็ค = CALCULATE([ยอดขาย], CONTAINSSTRING('สินค้า'[ชื่อสินค้า], "แพ็ค"))

เงื่อนไขบนคอลัมน์เดียวเขียนใน CALCULATE ได้ตรง ๆ

ข้อผิดพลาดและเคล็ดลับ

CONTAINSSTRING ไม่สนตัวพิมพ์เล็กใหญ่ ถ้าต้องตรงตัวพิมพ์ใช้ FIND ซึ่งแยกตัวพิมพ์
ใช้ตัวแทนได้ เช่น "น้ำ*มล." หาชื่อที่มีคำว่า น้ำ แล้วตามด้วย มล. ในตำแหน่งใดก็ได้
งานจัดกลุ่มสินค้าจากชื่อที่ใช้บ่อย ควรทำเป็นคอลัมน์ใน Power Query หรือ Calculated Column แทนการค้นในทุก Measure

แบบทดสอบ 3 ข้อ

1. CONTAINSSTRING("Online", "line") ได้อะไร

2. ต้องการหาเครื่องหมาย * จริงในข้อความ เขียนแบบใด

3. ต้องการค้นแบบแยกตัวพิมพ์เล็กใหญ่ ใช้ฟังก์ชันใด

ไฟล์ฝึก CONTAINSSTRING

9Expert-DAX-CONTAINSSTRING-Practice-v1.0.xlsx

รุ่น 1.0 · 26/9/2026 · 70 KB · ไม่มี Macro · นำเข้า Power BI แล้วทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นยอดขายสินค้าพนักงานขายวันที่คงคลังเป้าภูมิภาคแบบฝึกหัดเฉลย

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1[ยอดสินค้าแพ็ค] ยอดขายของสินค้าที่ชื่อมีคำว่า แพ็ค · กรอง ภูมิภาค = ใต้, ปี = 2024
  2. ข้อ 2[ยอดสินค้าแพ็ค] ยอดขายของสินค้าที่ชื่อมีคำว่า แพ็ค · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
  3. ข้อ 3[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = เหนือ, ปี = 2025
  4. ข้อ 4[ยอดสินค้าขนาด มล.] ยอดขายของสินค้าที่ชื่อมีคำว่า มล. · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
  5. ข้อ 5[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ปี = 2025

ไปต่อ

อยากเขียน DAX สำหรับรายงานจริงทั้งระบบ

ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)

ดูหลักสูตร