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

# OR – ตรวจสอบเงื่อนไขอย่างน้อยหนึ่งข้อว่าเป็นจริง

> OR คือฟังก์ชันตรรกศาสตร์ที่ตรวจสอบเงื่อนไขได้สูงสุด 255 ข้อ และจะคืนค่า TRUE ถ้ามี 'เงื่อนไขใดเงื่อน

## คำอธิบาย

OR คือฟังก์ชันตรรกศาสตร์ที่ตรวจสอบเงื่อนไขได้สูงสุด 255 ข้อ และจะคืนค่า TRUE ถ้ามี 'เงื่อนไขใดเงื่อนไขหนึ่ง' เป็นจริง เป็นเครื่องมือจำเป็นสำหรับการสร้างเงื่อนไขที่ยืดหยุ่น

## Syntax

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

## Arguments

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

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

### Conditional Formatting แบบยืดหยุ่น

Highlight รายการสินค้าที่ 'หมดสต็อก' **หรือ** 'ใกล้หมดอายุ' เพื่อให้ผู้ใช้รีบตรวจสอบ

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

### ระบบเตือนภัย

ส่งการแจ้งเตือนถ้า 'อุณหภูมิสูงเกินไป' **หรือ** 'ความชื้นต่ำเกินไป' (OR(Temp>35, Humidity

_เหมาะกับ:_ alert-system

## ตัวอย่าง

### 1. ตรวจสอบสิทธิ์การเข้าถึง (Access Control)

```excel
=OR(A2="Admin", A2="Manager")
```

**ผลลัพธ์:** `TRUE หรือ FALSE`

สมมติ A2 เก็บตำแหน่งงาน สูตรนี้จะคืน TRUE ถ้าเป็น Admin **หรือ** Manager (ผู้ใช้มีสิทธิ์เข้าถึง) ถ้าอื่นจะเป็น FALSE

### 2. คำนวณส่วนลดสำหรับลูกค้าพิเศษ

```excel
=IF(OR(B2="Gold", C2>=50000), "มีส่วนลด 20%", "ไม่มีส่วนลด")
```

**ผลลัพธ์:** `"มีส่วนลด 20%" หรือ "ไม่มีส่วนลด"`

สมมติ B2 = ระดับลูกค้า, C2 = ยอดซื้อรวม ถ้าลูกค้าเป็น Gold **หรือ** มียอดซื้อตั้งแต่ 50,000 ขึ้นไป จะได้ส่วนลด 20%

### 3. ตรวจสอบวันหยุดสุดสัปดาห์

```excel
=OR(WEEKDAY(TODAY(),2)=6, WEEKDAY(TODAY(),2)=7)
```

**ผลลัพธ์:** `TRUE (ถ้าวันนี้เป็นวันเสาร์หรืออาทิตย์) หรือ FALSE`

WEEKDAY(TODAY(),2) คืนค่า 6 สำหรับเสาร์ และ 7 สำหรับอาทิตย์ สูตรนี้ช่วยเช็คว่าวันนี้เป็นวันหยุดทำงานหรือไม่

### 4. ตรวจสอบข้อมูลว่างหรือค่าลบ (Data Validation)

```excel
=IF(OR(A2="", A2<0), "ข้อมูลไม่ถูกต้อง", "ข้อมูลปกติ")
```

**ผลลัพธ์:** `"ข้อมูลไม่ถูกต้อง" หรือ "ข้อมูลปกติ"`

ใช้ตรวจสอบว่า A2 เป็นข้อมูลว่าง **หรือ** มีค่าน้อยกว่า 0 ถ้าจริงข้อมูลจะผิด เหมาะสำหรับ data validation ในการรับสินค้ากลับ

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

- ใช้ OR ร่วมกับ IF เพื่อสร้างตรรกะตัดสินใจ ตัวอย่าง: =IF(OR(A1>100,B1>100),"คุ้มค่า","ไม่คุ้มค่า")

- ถ้ามี 10+ เงื่อนไข ให้พิจารณาใช้ COUNTIF หรือ SUMPRODUCT แทน จะ readable มากขึ้น เช่น =COUNTIF(A1:A10,">100")>0 แทน =OR(A1>100,A2>100,...,A10>100)

- OR ใช้ได้กับข้อความเรียงหลายค่า ตัวอย่าง: =OR(Status="Active", Status="Pending", Status="Review") ดีกว่าซ้อน IF

- ต้องระวัง: OR(0,0,0,0) = FALSE แต่ OR(0,0,1,0) = TRUE เพราะ Excel มองว่า 1 = TRUE

- ใช้ร่วมกับ ISNUMBER, ISTEXT, ISBLANK เพื่อเช็คประเภทข้อมูล เช่น: =OR(ISBLANK(A1),ISNUMBER(B1),ISTEXT(C1))

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

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

OR คือ 'หรือ' - ขอแค่ 'เงื่อนไขใดเงื่อนไขหนึ่ง' เป็นจริงก็พอ (ผลลัพธ์เป็น TRUE) ส่วน AND คือ 'และ' - ต้องให้ 'ทุกเงื่อนไข' เป็นจริงทั้งหมด ถึงจะได้ TRUE ตัวอย่าง: OR(TRUE,FALSE)=TRUE แต่ AND(TRUE,FALSE)=FALSE

**Q: ถ้าเงื่อนไขเป็นตัวเลขจะเกิดอะไรขึ้น?**

Excel จะตีความอัตโนมัติ: ค่าที่ไม่ใช่ 0 = TRUE และค่า 0 = FALSE ตัวอย่าง: =OR(1, 0) คืน TRUE, =OR(0, 0) คืน FALSE, =OR(5, -3) คืน TRUE ทั้งคู่เป็นค่าที่ไม่ใช่ 0

**Q: OR สามารถใช้กับข้อความได้หรือไม่?**

ได้ แต่ต้องเป็นเงื่อนไขเทียบเท่า (comparison) เช่น A1="Admin" หรือ ISNUMBER(B1) ไม่สามารถใส่ "Admin" โดยลำพัง หรือจะ OR(A1) ได้ต้องใช้ =OR(A1="Admin", A1="Manager") แทน

**Q: OR ใช้ได้กี่เงื่อนไข?**

สูงสุด 255 เงื่อนไข (logical1 ถึง logical255) ในทางปฏิบัติ ถ้ามากกว่า 10-15 เงื่อนไข ให้พิจารณาใช้ COUNTIF, SUMPRODUCT หรือ helper column แทนเพราะจะอ่านง่ายกว่า

**Q: OR ใช้กับ array (ช่วง) ได้หรือไม่?**

ได้ แต่ต้องใช้ SUM เพื่อให้ array work ถูกต้อง เช่น =SUM((A1:A10>100)*1) หรือใช้ SUMPRODUCT แต่ถ้าเป็นเงื่อนไขเดี่ยว ใช้ COUNTIF ง่ายกว่า เช่น =COUNTIF(A1:A10,">100")>0

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

- [AND – ตรวจสอบเงื่อนไขทั้งหมดว่าเป็นจริง](https://www.thepexcel.com/functions/excel/logical/and/)
- [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/)
- [WEEKDAY – หาลำดับวันในสัปดาห์ (จันทร์-อาทิตย์)](https://www.thepexcel.com/functions/excel/date-and-time/weekday/)
- [COUNTIF – นับจำนวนแบบมีเงื่อนไข](https://www.thepexcel.com/functions/excel/statistical/countif/)
- [ฟังก์ชัน SUMPRODUCT ใน Excel](https://www.thepexcel.com/functions/excel/math-and-trigonometry/sumproduct/)

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

- [Microsoft Support: ฟังก์ชัน OR](https://support.microsoft.com/en-us/office/or-function-7d17ad14-8700-4281-b308-00b131e22af0) _(official)_
- [ExcelJet: OR Function Guide](https://exceljet.net/functions/or-function) _(guide)_
- [Microsoft Learn: Logical Functions](https://learn.microsoft.com/en-us/office/client-developer/excel/excel-functions-category) _(official)_

---

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