---
title: AND – ตรวจสอบเงื่อนไขตรรกะในDAX
url: https://www.thepexcel.com/functions/dax/logical/and-dax/
type: function-explainer
program: DAX
syntax: "AND(<logical1>, <logical2>)"
date: 2025-12-13
updated: 2025-12-24
scores:
  popularity: 7
  difficulty: 2
  usefulness: 7
---

# AND – ตรวจสอบเงื่อนไขตรรกะในDAX

> ตรวจสอบว่าเงื่อนไขตรรกะทั้งหมดเป็นจริงหรือไม่ และคืนค่า TRUE เมื่อทุกเงื่อนไขเป็น TRUE

## คำอธิบาย

ตรวจสอบว่าเงื่อนไขตรรกะทั้งหมดเป็นจริงหรือไม่ และคืนค่า TRUE เมื่อทุกเงื่อนไขเป็น TRUE

## Syntax

```excel
AND(&lt;logical1&gt;, &lt;logical2&gt;)
```

**Variant**

```excel
AND(&lt;logical1&gt;, &lt;logical2&gt;)
```

ตรวจสอบ 2 เงื่อนไขตรรกะ

**Variant**

```excel
&lt;logical1&gt; && &lt;logical2&gt; && &lt;logical3&gt;
```

ใช้ตัวดำเนินการ && เพื่อเชื่อมหลายเงื่อนไข (แนะนำเมื่อมีมากกว่า 2 เงื่อนไข)

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| logical1 | Yes | Boolean |  | ค่าหรือนิพจน์ตรรกะตัวแรกที่ต้องการตรวจสอบ (TRUE หรือ FALSE) |
| logical2 | Yes | Boolean |  | ค่าหรือนิพจน์ตรรกะตัวที่สองที่ต้องการตรวจสอบ (TRUE หรือ FALSE) |

## เคสการใช้งาน

### ตรวจสอบเงื่อนไขพร้อมกัน

ตรวจสอบว่าเงื่อนไขหลายตัวเป็นจริงพร้อมกันหรือไม่ เช่น ยอดขายเกินเป้าและมีกำไรที่ดี

_เหมาะกับ:_ data-analysis

### กรองข้อมูลตามหลายเงื่อนไข

สร้างเงื่อนไขที่ซับซ้อนในการกรองข้อมูล โดยต้องผ่านทุกเงื่อนไขที่กำหนด

_เหมาะกับ:_ data-analysis

### ควบคุมการแสดงผล

ใช้ร่วมกับ IF เพื่อควบคุมการแสดงผลตามหลายเงื่อนไข เช่น แสดงผลเฉพาะรายการที่ตรงเงื่อนไขทั้งหมด

_เหมาะกับ:_ reporting

## ตัวอย่าง

### 1. ค่าตรรกะพื้นฐาน

```excel
AND(TRUE, TRUE)
```

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

เมื่อทั้งสองค่าเป็น TRUE จะได้ผลลัพธ์เป็น TRUE เท่านั้น

### 2. เงื่อนไขเบื้องต้นเมื่อมีค่าเป็น FALSE

```excel
AND(TRUE, FALSE)
```

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

เมื่อมีเงื่อนไขใดค่าหนึ่งเป็น FALSE ผลลัพธ์จะเป็น FALSE ทันที และ DAX จะไม่ประเมินค่าเงื่อนไขอื่นต่อไป (Short-circuit evaluation)

### 3. ตัวดำเนินการ && (แนะนำสำหรับหลายเงื่อนไข)

```excel
[Total Sales] > 1000000 && [Total Quantity] > 100 && [Year] = 2024
```

**ผลลัพธ์:** `TRUE (เมื่อทั้งสามเงื่อนไขเป็นจริง)`

ตัวดำเนินการ && มีความยืดหยุ่นกว่า AND() เพราะเชื่อมเงื่อนไขได้หลายตัว โค้ดสั้นกว่า และอ่านง่ายกว่า ให้ประสิทธิภาพที่ดีกว่าเมื่อตรวจสอบเงื่อนไข 3 ตัวขึ้นไป

### 4. ใช้ร่วมกับ IF ในหน่วยวัด

```excel
Performance Status = IF([Total Sales] > 1000000 && [Total Quantity] > 100, "Excellent", "Needs Improvement")
```

**ผลลัพธ์:** `"Excellent" (เมื่อทั้งสองเงื่อนไขเป็นจริง) หรือ "Needs Improvement"`

ตัวอย่างนี้แสดงการใช้ AND logic ร่วมกับ IF เพื่อสร้างหน่วยวัด (Measure) ที่ประเมินประสิทธิภาพ โดยตรวจสอบว่ายอดขายมากกว่า 1,000,000 และปริมาณสินค้ามากกว่า 100 หน่วยพร้อมกัน

### 5. การนับแถวที่ตรงตามเงื่อนไขหลายประการ

```excel
Qualified Orders = COUNTROWS(FILTER(Orders, Orders[Amount] > 5000 && Orders[Status] = "Delivered" && Orders[Days Taken] < 7))
```

**ผลลัพธ์:** `จำนวนคำสั่งซื้อที่มียอดเงินมากกว่า 5,000 พร้อมสถานะเป็น Delivered และใช้เวลาส่งน้อยกว่า 7 วัน`

ใช้ && ภายใน FILTER เพื่อตัดคำสั่งซื้อที่ตรงตามเงื่อนไขทั้งสามข้อ ตัวอย่างนี้แสดงกรณีที่ต้องตรวจสอบหลายเงื่อนไขพร้อมกัน ส่วนตัวผมชอบวิธีนี้เพราะชัดเจน อ่านง่าย และเป็นปฏิบัติที่ดี

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

- หมายเหตุสำคัญ: ฟังก์ชัน AND รับอาร์กิวเมนต์ได้เพียง 2 ตัวเท่านั้น หากต้องการตรวจสอบเงื่อนไข 3 ตัวขึ้นไป ใช้ตัวดำเนินการ && แทน เช่น Condition1 && Condition2 && Condition3

- ตัวดำเนินการ && มีประสิทธิภาพดีกว่า AND() เพราะสนับสนุน Short-circuit evaluation (หยุดประเมินเมื่อพบ FALSE ตัวแรก)

- ใช้วงเล็บเพื่อความชัดเจน โดยเฉพาะเมื่อมีการรวม && กับ || (OR) อยู่ในนิพจน์เดียวกัน

- AND() ใช้อยู่เพื่อความเข้ากันได้กับโค้ดเก่า แต่ในโปรเจคใหม่ ลองใช้ && เป็นหลัก

- ถ้าคุณเห็นสูตรที่มี AND() ซ้อนกัน ลองแปลงเป็น && ดู จะอ่านง่ายขึ้นและง่ายต่อการบำรุงรักษา

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

**Q: ทำไมถึงแนะนำให้ใช้ && แทน AND()?**

AND() รับได้แค่ 2 อาร์กิวเมนต์ ดังนั้นถ้าต้องตรวจสอบเงื่อนไข 3 ตัวขึ้นไป จะต้องซ้อนกัน และ(และ(...)) ซึ่งอ่านยาก && ทำได้ง่ายกว่า: A && B && C นอกจากนี้ && ยังมีประสิทธิภาพดีกว่า

**Q: ต้องใส่วงเล็บเมื่อใช้ทั้ง && และ || ไหม?**

ควรใส่วงเล็บเพื่อความชัดเจน และช่วยป้องกันการตีความลำดับความสำคัญผิด เช่น (A && B) || (C && D) จะชัดเจนกว่า A && B || C && D

**Q: AND() กับ && ให้ผลลัพธ์เหมือนกันไหม?**

ใช่ ทั้งสองให้ผลลัพธ์ตรรกะเหมือนกัน แต่ && มีความยืดหยุ่นมากกว่า อ่านง่ายกว่า และเชื่อมเงื่อนไขได้หลายตัว

**Q: Short-circuit evaluation คืออะไร?**

เมื่อ DAX พบเงื่อนไขแรกที่เป็น FALSE จะหยุดประเมินเงื่อนไขถัดไป และคืนค่า FALSE ทันที ช่วยประหยัด CPU และเร่งความเร็วสูตร

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

- [OR – ตรวจสอบว่ามีเงื่อนไขใดเป็นจริง](https://www.thepexcel.com/functions/dax/logical/or-dax/)
- [NOT – กลับค่าตรรกะ (TRUE/FALSE)](https://www.thepexcel.com/functions/dax/logical/not-dax/)
- [IF – ตรวจสอบเงื่อนไขและคืนค่าตามผลลัพธ์ TRUE/FALSE](https://www.thepexcel.com/functions/dax/logical/if-dax/)
- [SWITCH – คืนค่าตามหลายกรณี ปลดปล่อยตัวเองจาก IF ซ้อน](https://www.thepexcel.com/functions/dax/logical/switch-dax/)

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

- [Microsoft Learn: AND function](https://learn.microsoft.com/en-us/dax/and-function-dax) _(official)_
- [DAX Guide: AND operator](https://dax.guide/and/) _(guide)_
- [DAX Guide: && operator (recommended)](https://dax.guide/op/and/) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/dax/logical/and-dax/](https://www.thepexcel.com/functions/dax/logical/and-dax/)_
