---
title: AND – ตรวจสอบเงื่อนไขทั้งหมดว่าเป็นจริง
url: https://www.thepexcel.com/functions/excel/logical/and/
type: function-explainer
program: Excel
syntax: "=AND(logical1, [logical2], ...)"
date: 2025-12-19
updated: 2025-12-20
scores:
  popularity: 8
  difficulty: 2
  usefulness: 10
---

# AND – ตรวจสอบเงื่อนไขทั้งหมดว่าเป็นจริง

> AND ตรวจสอบเงื่อนไขได้สูงสุด 255 เงื่อนไข โดยจะคืนค่า TRUE ก็ต่อเมื่อ Logical ทุกตัว (logical1, logi

## คำอธิบาย

AND ตรวจสอบเงื่อนไขได้สูงสุด 255 เงื่อนไข โดยจะคืนค่า TRUE ก็ต่อเมื่อ Logical ทุกตัว (logical1, logical2,...) ให้ผลเป็น TRUE ทั้งหมด
.
เรียกได้ว่าเป็นแบบ 'เข้มงวด' ที่ต้องผ่านทุกข้อถึงจะได้ TRUE ครับ ถ้าสักข้อเดียวเป็น FALSE... จบเลย 😅

## Syntax

```excel
=AND(logical1, [logical2], ...)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| logical1 | Yes | Logical |  | เงื่อนไขแรกที่ต้องการตรวจสอบ (ต้องให้ผลเป็น TRUE หรือ FALSE) |
| logical2 | No | Logical | - | เงื่อนไขเพิ่มเติมที่ต้องการตรวจสอบ (ใส่ได้สูงสุด 255 เงื่อนไข) |

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

### กำหนดเงื่อนไขการให้ส่วนลด

ถ้าลูกค้าเป็นสมาชิก Gold Tier **และ** ซื้อสินค้าเกิน 5,000 บาท **และ** ชำระด้วยบัตรเครดิต ให้ได้ส่วนลด 10%

_เหมาะกับ:_ sales-promotion

### Conditional Formatting แบบหลายเงื่อนไข

ใช้ AND ใน Conditional Formatting เพื่อ Highlight เซลล์หรือแถวที่ตรงตามเงื่อนไขมากกว่า 1 ข้อ เช่น Highlight เซลล์ที่ยอดขาย > 100,000 และเป็นสินค้ากลุ่ม 'A'

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

## ตัวอย่าง

### 1. ตรวจสอบข้อมูลพื้นฐาน 2 เงื่อนไข

```excel
=AND(A2>=70, A3>=18)
```

**ผลลัพธ์:** `TRUE (หากทั้ง A2>=70 และ A3>=18)`

สมมติ A2=75 (คะแนน) และ A3=20 (อายุ)
.
สูตรนี้ตรวจสอบว่า คะแนนสอบ >= 70 **และ** อายุ >= 18 ทั้งคู่เป็นจริงหรือไม่
.
ถ้าทั้งสองเงื่อนไขเป็นจริง → TRUE | ถ้าเงื่อนไขใดข้อหนึ่งเป็นเท็จ → FALSE

### 2. เช็คค่าอยู่ในช่วง (Range Check)

```excel
=AND(B5>=100, B5<=200)
```

**ผลลัพธ์:** `TRUE/FALSE ขึ้นอยู่กับค่า B5`

นี่คือเทคนิคสุดนิยมในการเช็คว่าค่าอยู่ในช่วงที่กำหนดหรือเปล่า
.
ถ้า B5=150 → TRUE (100

### 3. ใช้กับ IF เพื่อตัดสินใจ (IF+AND)

```excel
=IF(AND(C2="Completed", D2<TODAY()), "เลยกำหนด", "ปกติ")
```

**ผลลัพธ์:** `"เลยกำหนด" หรือ "ปกติ"`

สมมติว่า C2 มีสถานะงาน "Completed" และ D2 มีวันกำหนดส่งงาน
.
สูตรนี้จะแสดง "เลยกำหนด" ก็ต่อเมื่อ งาน **เสร็จแล้ว** **และ** วันนี้ผ่านวันกำหนดไปแล้ว
.
มีประโยชน์มากสำหรับติดตามงานที่ส่งช้า 😎

### 4. ตรวจสอบพฤติกรรมการซื้อขาย (3 เงื่อนไข)

```excel
=IF(AND(E2>1000, F2>5, G2="VIP"), E2*0.2, E2*0.05)
```

**ผลลัพธ์:** `ส่วนลดอย่างน้อย 5% ขึ้นไปถึง 20%`

สมมติ E2=ยอดซื้อ, F2=จำนวนครั้งที่ซื้อ, G2=สถานะสมาชิก
.
สูตรนี้บอกว่า ให้ส่วนลด 20% ก็ต่อเมื่อ ทั้ง 3 เงื่อนไขเป็นจริง (ยอดซื้อ>1000 AND ซื้อมากกว่า 5 ครั้ง AND สมาชิก VIP)
.
ถ้าข้อไหนไม่ถูก → ให้ส่วนลด 5% แทน (เป็นตัวอย่างการใช้ AND ในการคำนวณธุรกิจ)

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

- AND มักใช้คู่กับ IF เสมอครับ เพราะ AND แค่บอกว่า 'ผ่าน' หรือ 'ไม่ผ่าน' แต่ IF จะเป็นคนกำหนดว่า 'ถ้าผ่านแล้วจะทำอะไร'

- สูตรแบบนี้เจอบ่อยมาก: =IF(AND(เงื่อนไข1, เงื่อนไข2), "ทำนี่", "ทำนั่น") เป็นชุดคำสั่งพื้นฐานที่ต้องรู้

- ถ้าเงื่อนไขเยอะมากจนยาก อาจลองใช้ COUNTIFS แทน เช่น =COUNTIFS(A:A,">100", B:B,"0 ได้ผลลัพธ์เดียวกัน

- ระวังความแตกต่าง: AND(A1:A10>50) ตรวจสอบว่า **ทั้งหมด** > 50 | OR(A1:A10>50) ตรวจสอบว่า **อย่างน้อยหนึ่ง** > 50

- ใช้ AND ในการตรวจสอบข้อมูลอยู่ในช่วงปลอดภัย: =AND(E2>=0, E2<=100) นี่คือ validation ที่พบเห็นบ่อยในระบบจริงๆ

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

**Q: AND ต่างจาก OR อย่างไร?**

ต่างกันที่ความ 'เข้มงวด' ครับ
.
AND → ต้องผ่าน **ทุกข้อ** ถึงจะได้ TRUE (เข้มงวดมาก)
OR → ผ่าน **ข้อใดข้อหนึ่ง** ก็ได้ TRUE แล้ว (ผ่อนปรนกว่า)
.
เปรียบเทียบง่ายๆ: AND เหมือนสอบต้องผ่านทุกวิชา แต่ OR คือผ่านวิชาใดวิชาหนึ่งก็พอ

**Q: ถ้าเงื่อนไขมีมากกว่า 255 ข้อทำอย่างไร?**

กรณีนี้เจอไม่บ่อยหรอกครับ แต่ถ้าเจอจริงๆ มีทางออกอยู่ 2 ทาง:
.
1. ซ้อน AND: =AND(AND(A1:A200), AND(A201:A300))
2. ใช้ PRODUCT: =PRODUCT(--(A1:A300>0)) จะได้ผลคล้ายกัน
.
ส่วนตัวผมคิดว่าถ้าเงื่อนไขเยอะขนาดนั้น อาจต้องแก้ปัญหาที่รากเหง้ากว่านี้

**Q: ใช้ AND กับช่วง (Range) ได้ไหม?**

ได้ครับ แต่ต้องระวังนะ 😅
.
=AND(A1:A10>50) จะตรวจสอบว่า **ทั้งหมด** ใน A1:A10 > 50 หรือไม่
.
ถ้าต้องการตรวจสอบแค่บาง cell ต้องระบุเงื่อนไขชัดเจน เช่น =AND(A1>50, A2>50, A3>50)
.
ถ้าต้องการ 'ใดข้อหนึ่ง' ใช้ COUNTIF แทน: =COUNTIF(A1:A10,">50")>0

**Q: AND คืนค่า #VALUE! error แล้วทำไง?**

Error นี้เกิดจากการที่ AND ไม่สามารถแปลงเงื่อนไขเป็น TRUE/FALSE ได้
.
ตัวอย่างเช่น:
❌ =AND("ข้อความ", B1) → เพราะข้อความแปลงไม่ได้
❌ =AND(A1:A10) → ช่วง A1:A10 มี error ข้างใน
.
✅ =AND(B1>0, B2>0) → ถูกต้อง (เงื่อนไขชัดเจน)

**Q: AND กับ Arrays ใช้ได้ไหม?**

ใช้ได้ครับ ถ้าใช้กับ Excel 365 หรือ Excel 2021 ขึ้นไป
.
=AND(A1:A10>50, B1:B10 50 **และ** B < 100
.
แต่ถ้าใช้ Excel รุ่นเก่า อาจต้องใช้ SUMPRODUCT แทน: =SUMPRODUCT((A1:A10>50)*(B1:B10

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

- [OR – ตรวจสอบเงื่อนไขอย่างน้อยหนึ่งข้อว่าเป็นจริง](https://www.thepexcel.com/functions/excel/logical/or/)
- [NOT – กลับค่าตรรกะ (Logical Negation)](https://www.thepexcel.com/functions/excel/logical/not/)
- [IF – ฟังก์ชันตรรกะพื้นฐาน](https://www.thepexcel.com/functions/excel/logical/if/)
- [IFS – ทดสอบหลายเงื่อนไขแบบมีลำดับความสำคัญ](https://www.thepexcel.com/functions/excel/logical/ifs/)
- [XOR – ตรวจสอบเงื่อนไขแบบ Exclusive OR](https://www.thepexcel.com/functions/excel/logical/xor/)

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

- [Microsoft Support: ฟังก์ชัน AND](https://support.microsoft.com/th-th/office/and-function-5f19b2e8-e1df-4408-897a-ce285a19e9d9) _(official)_
- [ExcelJet: How to use AND](https://exceljet.net/functions/and-function) _(guide)_

---

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