---
title: NOT – กลับค่าตรรกะ (TRUE/FALSE)
url: https://www.thepexcel.com/functions/dax/logical/not-dax/
type: function-explainer
program: DAX
syntax: "NOT(<logical>)"
date: 2025-12-13
updated: 2025-12-25
scores:
  popularity: 6
  difficulty: 2
  usefulness: 6
---

# NOT – กลับค่าตรรกะ (TRUE/FALSE)

> NOT ใช้กลับค่าตรรกะของนิพจน์ (TRUE ↔ FALSE) เหมาะกับการเขียนเงื่อนไขแบบปฏิเสธ และนิยมใช้ร่วมกับ IF/A

## คำอธิบาย

NOT ใช้กลับค่าตรรกะของนิพจน์ (TRUE ↔ FALSE) เหมาะกับการเขียนเงื่อนไขแบบปฏิเสธ และนิยมใช้ร่วมกับ IF/AND/OR เพื่อสร้างตรรกะที่อ่านชัดเจน

## Syntax

```excel
NOT(&lt;logical&gt;)
```

**Variant**

```excel
NOT(&lt;logical&gt;)
```

กลับผลของนิพจน์ตรรกะที่ระบุ

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| logical | Yes | boolean |  | นิพจน์ตรรกะที่ต้องการกลับผล (เช่น [Sales] > 0 หรือ ISBLANK([Measure])) |

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

### กรองเฉพาะรายการที่ไม่เข้าเงื่อนไข

ใช้ NOT เพื่อกลับผลของเงื่อนไข แล้วนำไปใช้ใน IF หรือเป็นตัวกรองใน Visual

_เหมาะกับ:_ inverse-condition

### ซ่อนค่าเมื่อไม่ต้องการแสดง

คืน BLANK() เมื่อเงื่อนไขบางอย่าง “ไม่เป็นจริง” โดยใช้ NOT เพื่อทำให้โค้ดอ่านง่ายขึ้น

_เหมาะกับ:_ hide-values

## ตัวอย่าง

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

```excel
= NOT(TRUE)
```

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

NOT จะกลับค่าจาก TRUE เป็น FALSE และกลับจาก FALSE เป็น TRUE เป็นการดำเนินการพื้นฐานสุด

### 2. ตัวอย่างที่ 2: ตรวจสอบว่าไม่เป็น Blank

```excel
Has Value =
NOT(
    ISBLANK([Total Sales])
)
```

**ผลลัพธ์:** `TRUE เมื่อ [Total Sales] ไม่เป็น BLANK(), FALSE เมื่อเป็น BLANK`

ใช้ NOT ครอบ ISBLANK เพื่อสร้างเงื่อนไขว่า "มีค่า" การอ่านว่า "NOT blank" ชัดเจนว่าผลลัพธ์หมายถึง "มีค่า"

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

```excel
Status =
IF(
    NOT([Total Profit] > 0),
    "ขาดทุนหรือเท่าทุน",
    "กำไร"
)
```

**ผลลัพธ์:** `"ขาดทุนหรือเท่าทุน" เมื่อกำไร <= 0, "กำไร" เมื่อกำไร > 0`

กลับผลของเงื่อนไขกำไรเพื่อให้สื่อความหมายว่า "ไม่กำไร" ที่สำคัญคือการอ่านคำสั่งทั้ง IF NOT(...) ได้ไปเลย "if not profit is positive, then..."

### 4. ตัวอย่างที่ 4: ใช้ร่วมกับ CALCULATE สำหรับมาตรวัด

```excel
Non-A Sales =
CALCULATE(
    SUM([Amount]),
    NOT([Category] = "A")
)
```

**ผลลัพธ์:** `ผลรวมของยอดขายที่ไม่ใช่หมวด A`

ใช้ NOT เพื่อปฏิเสธเงื่อนไข [Category] = "A" ทำให้ CALCULATE รวมเฉพาะหมวดที่ไม่ใช่ A ผมชอบแบบนี้เพราะชัดเจนว่าเป็นการ "ตัดออก" หมวด A

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

- ใช้วงเล็บให้ชัดเจนเมื่อซ้อน NOT กับ AND/OR เพื่อให้ผู้อ่านโค้ดเข้าใจลำดับของตรรกะได้ถูกต้อง

- หลีกเลี่ยงการกลับเงื่อนไขซ้อนหลายชั้น เช่น NOT(NOT(x)) ควรเขียนเป็น x แทน เพราะมันอ่านยากและชิ้นส่วน

- ส่วนตัวผม ผมชอบใช้ NOT ร่วมกับ ISBLANK, ISLOGICAL หรือการเปรียบเทียบให้เป็นบริบทของ "การตรวจสอบสิ่งที่ไม่มี" เพราะมันสื่อสารเจตนาชัดเจน

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

**Q: ใช้ NOT ต่างจากการเขียนเงื่อนไขกลับด้านโดยตรงอย่างไร?**

ผมขอพูดถึงสองแบบที่ใช้บ่อย ถ้าเงื่อนไขง่าย ๆ การเขียนกลับด้านโดยตรง (เช่น  แทน =) อาจสั้นกว่า และอ่านทีเดียว แต่ถ้าเป็นนิพจน์ยาวหรือซับซ้อน NOT ช่วยให้กลับผลทั้งก้อนและอ่านเจตนาได้ชัดกว่า ผมเลือก NOT เพราะ 1) อ่านค่อนข้างได้ว่าเป็น "ไม่" 2) ดูเหมือนการปฏิเสธของประพจน์ เช่น IF NOT(...) ดูเหมือน "if not this then..."

**Q: NOT ทำงานกับค่าที่ไม่ใช่ TRUE/FALSE ได้ไหม?**

ทางเทคนิค NOT ควรรับนิพจน์ที่ให้ผลเป็นตรรกะ ถ้าส่งค่าอื่นมา ระบบจะพยายามแปลงตามกฎของ DAX (เช่น 0 = FALSE, ตัวเลข ≠ 0 = TRUE) แต่ผมแนะนำให้เขียนให้เป็นเงื่อนไขตรรกะก่อนเสมอ เช่น NOT(value > 0) แทน NOT(value) เพื่อให้ชัดเจนว่าสิ่งที่กลับนั้นหมายถึงอะไร

**Q: ใช้ NOT ร่วมกับ CALCULATE ได้ไหม?**

ได้ และผมใช้บ่อยเมื่อต้องการสร้างมาตรวัดที่เป็น "ไม่ใช่" เงื่อนไขบางอย่าง เช่น CALCULATE(SUM(Sales[Amount]), NOT(Sales[Category] = "A")) จะให้ผลรวมของหมวดที่ไม่ใช่ A ทั้งนี้ต้องแน่ใจว่า NOT ครอบเงื่อนไขตรรกะที่สมบูรณ์

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

- [AND – ตรวจสอบเงื่อนไขตรรกะในDAX](https://www.thepexcel.com/functions/dax/logical/and-dax/)
- [OR – ตรวจสอบว่ามีเงื่อนไขใดเป็นจริง](https://www.thepexcel.com/functions/dax/logical/or-dax/)
- [IF – ตรวจสอบเงื่อนไขและคืนค่าตามผลลัพธ์ TRUE/FALSE](https://www.thepexcel.com/functions/dax/logical/if-dax/)
- isblank-dax
- blank

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

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

---

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