Thep Excel

List.Contains – ตรวจสอบว่า List มีสมาชิกที่กำหนดหรือไม่

List.Contains จะคืนค่า true หาก value ที่กำหนดเป็นสมาชิกของ List และคืนค่า false หากไม่พบ สามารถระบุ Comparer เพื่อกำหนดว่าจะให้ตรวจสอบแบบ Case Sensitive หรือ Case Insensitive ได้

=List.Contains(list as list, value as any, optional comparer as nullable function) as logical

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
7/10

Difficulty
3/10

Usefulness
7/10

Syntax & Arguments

=List.Contains(list as list, value as any, optional comparer as nullable function) as logical

Argument Type Required Default Description
list list Yes List ที่ต้องการค้นหา
value any Yes ค่าที่ต้องการค้นหาใน List
comparer function Optional Comparer.Ordinal ฟังก์ชัน Comparer สำหรับกำหนดวิธีการเปรียบเทียบ

How it works

ตรวจสอบสิทธิ์การเข้าถึง

เช็คว่าชื่อผู้ใช้อยู่ใน List ของผู้ดูแลระบบหรือไม่

กรองข้อมูลตามรายการ

ใช้เพื่อกรองข้อมูลในตาราง ให้เหลือเฉพาะรายการที่อยู่ใน List ของค่าที่ยอมรับ

Examples

ตัวอย่างที่ 1: ตรวจสอบว่ามีสมาชิก
List.Contains({"apple", "banana", "cherry"}, "banana")
List มีคำว่า "banana" อยู่ จึงคืนค่า true
Power Query Formula:

=List.Contains({"apple", "banana", "cherry"}, "banana")

Result:

true

ตัวอย่างที่ 2: ตรวจสอบว่าไม่มีสมาชิก
List.Contains({"apple", "banana"}, "orange")
List ไม่มีคำว่า "orange" อยู่ จึงคืนค่า false
Power Query Formula:

=List.Contains({"apple", "banana"}, "orange")

Result:

false

ตัวอย่างที่ 3: ไม่สนใจตัวพิมพ์เล็ก/ใหญ่
List.Contains({"Apple", "Banana"}, "apple", Comparer.OrdinalIgnoreCase)
ใช้ Comparer.OrdinalIgnoreCase เพื่อไม่สนใจ Case Sensitive ทำให้ "apple" และ "Apple" ถูกมองว่าเหมือนกัน
Power Query Formula:

=List.Contains({"Apple", "Banana"}, "apple", Comparer.OrdinalIgnoreCase)

Result:

true

ตัวอย่างที่ 4: ตรวจสอบกับตัวเลข
let Numbers = {10, 20, 30, 40, 50}, Check = List.Contains(Numbers, 30) in Check
List.Contains ทำงานได้กับตัวเลขเช่นกัน มันเปรียบเทียบค่าตัวเลขแล้วคืนค่า true หากพบค่า 30 ใน List
Power Query Formula:

let
    Numbers = {10, 20, 30, 40, 50},
    Check = List.Contains(Numbers, 30)
in
    Check

Result:

true

FAQs

List.Contains ต่างจาก List.FindText อย่างไร?

List.Contains ตรวจสอบว่ามีสมาชิกที่ ‘ตรงกันเป๊ะ’ หรือไม่ ส่วน List.FindText ตรวจสอบว่ามีสมาชิกที่ ‘มีข้อความย่อย’ ที่กำหนดอยู่หรือไม่ เจอบ่อยครั้งที่คนสับสนครับ 😅

ทำไมถึงคืนค่า false ทั้งๆ ที่ค่าดูเหมือนอยู่ใน List?

ปัญหานี้เกิดจาก Data Type ไม่ตรงกันบ่อยครั้งครับ เช่น ค้นหา 30 (Number) แต่ List มี “30” (Text) ลองใช้ Comparer.Ordinal หรือแปลง Data Type ให้เหมือนกันก่อนนะ

Resources & Related

Additional Notes

ฟังก์ชัน List.Contains ใน Power Query ใช้สำหรับตรวจสอบว่า List มีสมาชิกที่ตรงกับค่าที่ต้องการค้นหาอยู่ภายในหรือไม่ โดยจะคืนค่า true หากพบ และ false หากไม่พบ

ที่เจ๋งคือ List.Contains ทำงานได้เร็วแม้กับ List ที่มีจำนวนสมาชิกมากๆ ก็ตาม นอกจากนี้ยังสามารถระบุ Comparer เพื่อกำหนดว่าการตรวจสอบจะเป็น Case Sensitive หรือ Case Insensitive ได้อีกด้วย

ส่วนตัวผมใช้ฟังก์ชันนี้บ่อยมากเวลาต้อง Filter ข้อมูลโดยดูจากค่าที่อยู่ใน List ที่สร้างมาก่อนหน้า มันช่วยให้โค้ดสะอาดและเข้าใจง่ายขึ้นเยอะครับ 😎

Leave a Reply

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