---
title: Table.ContainsAll – ตรวจสอบว่ามีแถวที่ระบุครบทั้งหมดในตารางหรือไม่
url: https://www.thepexcel.com/functions/power-query/table-functions/table-containsall/
type: function-explainer
program: Power Query
syntax: "Table.ContainsAll(table as table, rows as list, optional equationCriteria as any) as logical"
date: 2025-12-15
updated: 2025-12-17
scores:
  popularity: 4
  difficulty: 3
  usefulness: 4
---

# Table.ContainsAll – ตรวจสอบว่ามีแถวที่ระบุครบทั้งหมดในตารางหรือไม่

> ตรวจสอบว่ามี Record ที่ระบุครบทุกตัวในตารางหรือไม่

## คำอธิบาย

ตรวจสอบว่า List ของ Record ที่ระบุ ปรากฏอยู่ในตารางข้อมูลครบทุกตัวหรือไม่ (เป็น Subset หรือไม่) โดยสามารถกำหนดคอลัมน์ที่ใช้เปรียบเทียบได้

## Syntax

```excel
Table.ContainsAll(table as table, rows as list, optional equationCriteria as any) as logical
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| table | Yes | table |  | ตารางข้อมูลหลักที่ต้องการตรวจสอบ |
| rows | Yes | list |  | List ของ Record ที่ต้องการตรวจสอบว่ามีอยู่ในตารางครบหรือไม่ |
| equationCriteria | No | any | null | เกณฑ์การเปรียบเทียบ เช่น ระบุชื่อคอลัมน์ "Name" เพื่อเทียบเฉพาะคอลัมน์นั้น |

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ตรวจสอบชื่อที่ไม่ครบ

```excel
let
    Source = Table.FromRecords({
        [CustomerID = 1, Name = "Bob", Phone = "123-4567"],
        [CustomerID = 2, Name = "Jim", Phone = "987-6543"],
        [CustomerID = 3, Name = "Paul", Phone = "543-7890"],
        [CustomerID = 4, Name = "Ringo", Phone = "232-1550"]
    }),
    Check = Table.ContainsAll(
        Source,
        {[Name = "Bob"], [Name = "Fred"]},
        "Name"
    )
in
    Check
```

**ผลลัพธ์:** `false`

คืนค่า false เพราะในตารางมี "Bob" แต่ไม่มี "Fred"

### 2. ตัวอย่างที่ 2: ตรวจสอบชื่อที่ครบ

```excel
let
    Source = Table.FromRecords({
        [CustomerID = 1, Name = "Bob", Phone = "123-4567"],
        [CustomerID = 2, Name = "Jim", Phone = "987-6543"]
    }),
    Check = Table.ContainsAll(
        Source,
        {[Name = "Bob"], [Name = "Jim"]},
        "Name"
    )
in
    Check
```

**ผลลัพธ์:** `true`

คืนค่า true เพราะทั้ง "Bob" และ "Jim" มีอยู่ในตาราง (โดยตรวจสอบเฉพาะคอลัมน์ Name)

### 3. ตัวอย่างที่ 3: ตรวจสอบแบบทั้งแถว (ไม่ระบุ column)

```excel
let
    Source = Table.FromRecords({[A=1], [A=2], [A=3]}),
    Check = Table.ContainsAll(Source, {[A=1], [A=3]})
in
    Check
```

**ผลลัพธ์:** `true`

คืนค่า true เพราะ record [A=1] และ [A=3] มีอยู่ในตารางครบถ้วน

## หมายเหตุเพิ่มเติม

หากต้องการตรวจสอบว่ามี 'อย่างน้อย 1 ตัว' หรือไม่ ให้ใช้ Table.ContainsAny

## คำถามที่พบบ่อย

**Q: ต่างจาก Table.Contains อย่างไร?**

Table.Contains ตรวจสอบเพียง 1 record แต่ Table.ContainsAll ตรวจสอบ List ของ record ว่ามีครบทุกตัวหรือไม่

**Q: equationCriteria ใช้ทำอะไร?**

ใช้กำหนดว่าจะเปรียบเทียบข้อมูลอย่างไร เช่น เทียบเฉพาะบางคอลัมน์ (ใส่ชื่อคอลัมน์) หรือใช้ฟังก์ชันเปรียบเทียบเฉพาะทาง

## ฟังก์ชันที่เกี่ยวข้อง

- [Table.Contains – จัดการตาราง](https://www.thepexcel.com/?post_type=function-explainer&p=37944)
- [Table.ContainsAny – ตรวจสอบว่ามีแถวที่ระบุอย่างน้อย 1 แถวในตารางหรือไม่](https://www.thepexcel.com/functions/power-query/table-functions/table-containsany/)

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Learn: Table.ContainsAll](https://learn.microsoft.com/en-us/powerquery-m/table-containsall) _(documentation)_

---

_Source: [https://www.thepexcel.com/functions/power-query/table-functions/table-containsall/](https://www.thepexcel.com/functions/power-query/table-functions/table-containsall/)_
