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

# OR – ตรวจสอบว่ามีเงื่อนไขใดเป็นจริง

> OR ตรวจสอบเงื่อนไขตรรกะ 2 ตัว และคืน TRUE เมื่อมีเงื่อนไขใดเงื่อนไขหนึ่งเป็น TRUE เหมาะกับการทำเงื่อ

## คำอธิบาย

OR ตรวจสอบเงื่อนไขตรรกะ 2 ตัว และคืน TRUE เมื่อมีเงื่อนไขใดเงื่อนไขหนึ่งเป็น TRUE เหมาะกับการทำเงื่อนไขแบบ "อย่างน้อยหนึ่งข้อ" และนิยมเขียนด้วยตัวดำเนินการ || ในงานจริง

## Syntax

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

**Variant**

```excel
OR(&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 |  | เงื่อนไขตรรกะตัวแรก (Boolean TRUE/FALSE) |
| logical2 | Yes | boolean |  | เงื่อนไขตรรกะตัวที่สอง (Boolean TRUE/FALSE) |

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

### จัดกลุ่มแบบผ่านอย่างน้อยหนึ่งเงื่อนไข

ใช้ OR/|| เพื่อกำหนดว่าถ้าเข้าเงื่อนไขข้อใดข้อหนึ่งให้จัดอยู่ในกลุ่มเดียวกัน

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

### ทำเงื่อนไขสีหรือสถานะ

คืนข้อความ/สีเมื่อเข้าเกณฑ์อย่างน้อยหนึ่งข้อ เช่น ยอดขายสูงหรือกำไรสูง

_เหมาะกับ:_ conditional-format

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ตรวจสอบค่าตรรกะพื้นฐาน

```excel
OR(TRUE, FALSE)
```

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

ถ้ามีอย่างน้อยหนึ่งอาร์กิวเมนต์เป็น TRUE ผลลัพธ์จะเป็น TRUE

### 2. ตัวอย่างที่ 2: ใช้ตัวดำเนินการ || (แนะนำ)

```excel
Is Important =
([Total Sales] > 100000) || ([Total Profit] > 0)
```

**ผลลัพธ์:** `TRUE เมื่อยอดขายสูง หรือกำไรเป็นบวก`

ใช้ || เพื่อเชื่อมเงื่อนไขแบบ "อย่างน้อยหนึ่งข้อ" แล้วนำไปใช้ต่อกับ IF หรือทำเป็นตัวกรองใน Visual

### 3. ตัวอย่างที่ 3: ใช้ร่วมกับ IF เพื่อคืนข้อความ

```excel
Flag =
IF(
    ([Total Sales] > 100000) || ([Total Quantity] > 100),
    "เด่น",
    "ปกติ"
)
```

**ผลลัพธ์:** `คืน "เด่น" เมื่อเข้าเกณฑ์ข้อใดข้อหนึ่ง`

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

### 4. ตัวอย่างที่ 4: ตรวจสอบสถานะหลาย ๆ ตัว

```excel
Highlight Status =
IF(
    (Sales[Status] = "High Priority") || (Sales[Status] = "Urgent") || (Sales[Status] = "Critical"),
    "ต้องดำเนินการ",
    "ตามปกติ"
)
```

**ผลลัพธ์:** `คืน "ต้องดำเนินการ" เมื่อสถานะเป็นสถานะด่วนข้อใดข้อหนึ่ง`

ใช้ || หลายตัวเพื่อตรวจสอบว่าสถานะตรงกับเงื่อนไขใดข้อหนึ่ง ดีกว่าใช้ OR() ซ้อนกันแล้วอ่านยาก

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

- คำแนะนำ: ถ้ามีเงื่อนไขมากกว่า 2 ข้อ ให้ใช้ || ต่อกันหลายตัวเพื่อความชัดเจน และใช้วงเล็บเพื่อจัดลำดับเมื่อมีทั้ง && และ || อยู่ในนิพจน์เดียวกัน

- ข้อดี Short-circuit: DAX ประเมินจากซ้ายไปขวา ถ้าพบ TRUE ตัวแรกจะคืน TRUE ทันที ไม่ต้องประเมินเงื่อนไขตัวที่สอง - วิธีนี้เอื้อประโยชน์เมื่อเงื่อนไขแรกจำหน่ายหนักเป็นอย่างมาก

- ระวังลำดับ: เมื่อเขียน (Condition1 && Condition2) || (Condition3 || Condition4) ให้ใส่วงเล็บให้ชัด เพื่อ DAX ประเมินตามลำดับที่ต้องการ

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

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

OR จะคืน TRUE เมื่อมีอย่างน้อยหนึ่งเงื่อนไขเป็น TRUE (เขียน: A || B) ส่วน AND จะคืน TRUE ก็ต่อเมื่อทุกเงื่อนไขเป็น TRUE (เขียน: A && B)

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

เพราะ || เขียนสั้นกว่า รองรับหลายเงื่อนไขได้โดยไม่ต้องซ้อนฟังก์ชัน และอ่านง่ายกว่าในโค้ดจริง โดยเฉพาะเมื่อซ้อนกับ IF/SWITCH

**Q: OR() สามารถตรวจสอบเงื่อนไขตั้งแต่ 3 ตัวขึ้นไปได้ไหม?**

ฟังก์ชัน OR() รับเพียง 2 argument เท่านั้น ถ้ามี 3 เงื่อนไขขึ้นไปให้ใช้ || ต่อกัน เช่น (A > 100) || (B < 50) || (C = "X")

**Q: OR ใช้ได้กับ Calculated Column หรือเฉพาะ Measure?**

ใช้ได้ทั้งคู่ โดยไม่ต้องกังวลเรื่อง Filter Context vs Row Context เพราะ OR เป็นฟังก์ชันตรรกะธรรมดา ไม่เปลี่ยนแปลง Context

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

- [AND – ตรวจสอบเงื่อนไขตรรกะในDAX](https://www.thepexcel.com/functions/dax/logical/and-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/)

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

- [DAX Guide: OR](https://dax.guide/or/) _(guide)_
- [Microsoft Learn: OR](https://learn.microsoft.com/en-us/dax/or-function-dax) _(official)_

---

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