Thep Excel

NOTกลับค่าตรรกะ (Logical Negation)

NOT ใช้กลับค่าตรรกะจาก TRUE เป็น FALSE และจาก FALSE เป็น TRUE เอาไว้เขียนเงื่อนไขแบบ ‘ไม่ใช่’ หรือ ‘ไม่เข้าเงื่อนไข’ โดยเฉพาะตอนสูตรซับซ้อนจนเขียนแบบเทียบตรงๆ ด้วย ไม่ไหว เช่น กรองข้อมูลไม่ซ้ำ หรือเช็คว่าค่าไม่หลุดช่วงที่กำหนด

fx
=NOT(logical)

ความนิยม8/10
ความยาก2/10
ประโยชน์9/10

อัปเดต 18 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
logical Logical ค่าหรือสูตรที่ให้ผลเป็น TRUE หรือ FALSE ที่ต้องการกลับค่า

Additional Notes

ฟังก์ชัน NOT กลับค่าความจริง (Logical Value) — ใส่ TRUE ได้ FALSE ใส่ FALSE ได้ TRUE เพียงเท่านี้ ประโยชน์จริงของมันไม่ได้อยู่ที่การกลับค่าเดี่ยวๆ แต่อยู่ตอนเอาไปห่อเงื่อนไขที่ซับซ้อนแล้วอยากพูดว่า ‘ไม่เอากรณีนี้’ เช่น งานตรวจสอบข้อมูล (data validation) ที่ต้องหาแถวที่ไม่ซ้ำ ไม่ว่างเปล่า หรือไม่มี error งาน HR/บัญชีที่ต้องเช็คว่าค่าตัวเลขไม่หลุดช่วงที่กำหนดไว้ 2 ฝั่ง กรณีแบบนี้เขียนด้วย ตรงๆ ไม่ได้ ต้องพึ่ง NOT ห่อ ISBLANK, ISERROR, COUNTIF หรือ AND/OR อีกที

How it works

สร้างเงื่อนไขสำหรับ Data Validation

กำหนดให้เซลล์ต้อง 'ไม่ว่างเปล่า' หรือ 'ไม่เป็นตัวเลขลบ' ในการกรอกข้อมูล เพื่อป้องกันความผิดพลาด

Conditional Formatting

Highlight เซลล์ที่ 'ไม่ได้' ตรงตามเงื่อนไขที่กำหนด เช่น Highlight แถวที่สถานะ 'ไม่ใช่ Completed'

Examples

กลับค่าความจริงพื้นฐานNOT(TRUE)

NOT พลิกค่าตรงๆ TRUE กลายเป็น FALSE (ถ้าใส่ FALSE ก็จะได้ TRUE กลับมา) นี่คือกลไกพื้นฐานที่สูตรอื่นทุกอันข้างล่างใช้ต่อ

fx
=NOT(TRUE)

ผลลัพธ์FALSE
เช็คว่าเซลล์ไม่ว่าง (งานตรวจสอบข้อมูลก่อนคำนวณ)NOT(ISBLANK(A2))

ISBLANK(A2) ตอบ TRUE เมื่อเซลล์ว่าง — ตรงข้ามกับสิ่งที่เราอยากรู้ (อยากรู้ว่า 'มีข้อมูล' ไม่ใช่ 'ว่าง') NOT เลยพลิกผลลัพธ์กลับให้ตรงกับคำถามที่ตั้งจริงๆ มักเอาไปต่อใน IF เพื่อกันหารด้วยศูนย์หรือกันสูตรพังตอนเซลล์ยังไม่กรอกข้อมูล

fx
=NOT(ISBLANK(A2))

ผลลัพธ์TRUE ถ้า A2 มีข้อมูล / FALSE ถ้า A2 ว่าง
เช็คว่าสูตรค้นหาไม่มี error (งานเชื่อมข้อมูลจากหลายชีต)NOT(ISERROR(VLOOKUP(A2,Data,2,0)))

ตอน VLOOKUP หาค่าไม่เจอมันจะคืน #N/A ซึ่ง ISERROR จับได้เป็น TRUE — แต่ TRUE ตรงนี้แปลว่า 'มีปัญหา' ถ้าอยากได้ธงที่แปลว่า 'ข้อมูลเชื่อมสำเร็จ' ต้องเอา NOT พลิกอีกที ใช้กรองแถวที่จับคู่ข้อมูลไม่ได้ก่อนส่งรายงาน

fx
=NOT(ISERROR(VLOOKUP(A2,Data,2,0)))

ผลลัพธ์TRUE เมื่อ VLOOKUP หาเจอ / FALSE เมื่อ VLOOKUP ได้ #N/A
ตรวจอายุพนักงานให้อยู่ในช่วงที่กำหนด (งาน HR)IF(AND(NOT(A260)),"อยู่ในเกณฑ์","นอกเกณฑ์")

โจทย์คือ 'อายุต้องไม่ต่ำกว่า 18 และต้องไม่เกิน 60' — เขียนแบบปฏิเสธสองฝั่งแล้วเอา AND มาต่อกันแบบนี้ตรงกับที่คนพูดเป๊ะ (ต่างจากเขียน A2>=18 กับ A2<=60 ที่ความหมายเดียวกันแต่คนละมุมมอง) เมื่อ A2=25 ทั้ง NOT(25<18) และ NOT(25>60) เป็น TRUE ทั้งคู่ AND จึงเป็น TRUE ได้ผลลัพธ์ 'อยู่ในเกณฑ์'

fx
=IF(AND(NOT(A2<18),NOT(A2>60)),"อยู่ในเกณฑ์","นอกเกณฑ์")

ผลลัพธ์"อยู่ในเกณฑ์" เมื่อ A2 = 25
หาแถวที่เลขที่ใบกำกับภาษีไม่ซ้ำ (งานบัญชี/ตรวจสอบข้อมูล)IF(NOT(COUNTIF($A$2:$A$10,A2)>1),"ไม่ซ้ำ","ซ้ำ")

COUNTIF นับว่าเลขที่ใบกำกับนี้ปรากฏกี่ครั้งในทั้งช่วง ถ้ามากกว่า 1 ครั้งแปลว่าซ้ำ (>1 ให้ TRUE) NOT จึงพลิกให้ TRUE กลายเป็น 'ไม่ซ้ำ' — ใช้ตรวจก่อนบันทึกบัญชีป้องกันการคีย์ใบกำกับซ้ำสองรอบ ซึ่งพบบ่อยตอนมีคนคีย์ข้อมูลหลายคนพร้อมกัน

fx
=IF(NOT(COUNTIF($A$2:$A$10,A2)>1),"ไม่ซ้ำ","ซ้ำ")

ผลลัพธ์"ไม่ซ้ำ" เมื่อเลขที่ใบกำกับใน A2 ปรากฏในช่วง A2:A10 แค่ครั้งเดียว

FAQs

ใช้เครื่องหมาย (ไม่เท่ากับ) แทน NOT ได้ไหม?+

ได้ครับ สำหรับกรณีง่ายๆ เช่น A1"Red" ให้ผลเหมือน NOT(A1="Red") และอ่านง่ายกว่าด้วย ควรสลับมาใช้ NOT ตอนเงื่อนไขซับซ้อนกว่าการเทียบค่าเดียว เช่น NOT(AND(…)), NOT(OR(…)) หรือ NOT(ISBLANK(…)) ที่ เขียนแทนไม่ได้ตรงๆ

ถ้าใส่ค่าที่ไม่ใช่ TRUE/FALSE ตรงๆ ให้ NOT จะเกิดอะไรขึ้น?+

ถ้าเป็นตัวเลข Excel ตีความ 0 เป็น FALSE และตัวเลขอื่นทุกตัว (รวมค่าติดลบ) เป็น TRUE ดังนั้น NOT(0) ได้ TRUE และ NOT(5) ได้ FALSE แต่ถ้าใส่ข้อความที่ไม่ใช่คำว่า TRUE/FALSE เช่น NOT("abc") หรือ NOT("") จะได้ error #VALUE! ทันที — จุดนี้พลาดบ่อยตอนเอา NOT ไปห่อผลลัพธ์จากฟังก์ชันที่อาจคืนค่าเป็นข้อความว่างแทนที่จะเป็น TRUE/FALSE

NOT(OR(…)) กับ AND(NOT(…)) ต่างกันไหม แล้วทำไมสลับไปมาได้?+

ผลลัพธ์เหมือนกันเป๊ะตามกฎ De Morgan: NOT(OR(A,B)) = AND(NOT(A),NOT(B)) และ NOT(AND(A,B)) = OR(NOT(A),NOT(B)) เลือกใช้แบบไหนก็ได้ตามที่อ่านแล้วตรงกับโจทย์มากกว่า — ถ้าโจทย์พูดว่า 'ต้องไม่ใช่ A และต้องไม่ใช่ B' เขียน AND(NOT(A),NOT(B)) จะตรงใจกว่า

เอา NOT ไปใช้กับทั้งช่วงเซลล์ (range) พร้อมกันได้ไหม?+

ได้ครับ เช่น =NOT(A2:A10>10) ใน Excel 365/2021 ที่รองรับ dynamic array จะ spill ผลลัพธ์เป็น TRUE/FALSE ทีละแถวออกมาให้เอง แต่ใน Excel รุ่นเก่า (2019 ลงไป) ต้องกด Ctrl+Shift+Enter เพื่อทำเป็น array formula ไม่งั้นจะได้ผลลัพธ์แค่ค่าเดียว ถ้าจะรวมผลเป็นตัวเลขเดียว (เช่นนับจำนวนที่ไม่เข้าเงื่อนไข) ให้ห่อด้วย SUMPRODUCT แทนที่จะพึ่ง array formula แบบเก่า

NOT ต่างจากฟังก์ชัน IF อย่างไร ใช้แทนกันได้ไหม?+

ไม่เหมือนกัน — NOT คืนแค่ TRUE/FALSE ตัวเดียว ส่วน IF คืนค่าอะไรก็ได้ตามที่กำหนด (ข้อความ ตัวเลข หรือแม้แต่สูตรอื่น) ปกติสองตัวนี้ทำงานร่วมกัน เช่น =IF(NOT(ISBLANK(A2)),"มีข้อมูล","ว่าง") โดย NOT ทำหน้าที่สร้างเงื่อนไข ส่วน IF ทำหน้าที่แปลงเงื่อนไขนั้นเป็นข้อความที่คนอ่านเข้าใจ

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ NOT จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้NOTLogical
Logical (6)
AND

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

FALSE

FALSE คืนค่าตรรกะ Boolean FALSE โดยตรง ซึ่งมีค่าเท่ากับ 0 ในการคำนวณทางคณิตศาสตร์
.
ที่เจ๋งคือทำให้สามารถนำไปใช้กับฟังก์ชันคำนวณได้โดยตรงโดยไม่ต้องแปลง มักใช้ร่วมกับ IF AND OR NOT และ IFERROR เพื่อควบคุม logic ของสูตรเงื่อนไข
.
ใน Excel คุณสามารถพิมพ์ FALSE โดยตรง (ไม่มีวงเล็บ) หรือเรียกเป็นฟังก์ชัน FALSE() ก็ได้ ผลลัพธ์เหมือนกันทุกประการ

TRUE

TRUE คืนค่าบูลีน TRUE ซึ่งมีค่าตัวเลขเท่ากับ 1 ใช้เป็น fundamental building block ในการสร้าง logical formulas ร่วมกับ IF, AND, OR, NOT
.
ใน Excel สมัยใหม่สามารถพิมพ์ TRUE โดยตรงได้โดยไม่ต้องใช้ =TRUE() ทั้งสองวิธีให้ผลเหมือนกัน
.
ที่เจ๋งคือฟังก์ชันนี้มีประโยชน์สำหรับการนับจำนวนเงื่อนไขที่เป็นจริง การแปลง Boolean เป็นตัวเลข และการสร้าง formula switches นะครับ

IF

IF เป็นฟังก์ชันตรรกะพื้นฐานที่ใช้ตัดสินใจสองทางตามเงื่อนไข ตรวจสอบว่าเงื่อนไขเป็น TRUE หรือ FALSE แล้วคืนค่าที่แตกต่างกันไปตามผลลัพธ์ สามารถใช้ได้กับการเปรียบเทียบตัวเลข ข้อความ หรือวันที่ และเป็นพื้นฐานสำคัญของการสร้างสูตรแบบมีเงื่อนไข

OR

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

XOR

ส่งกลับ TRUE หากจำนวนเงื่อนไขที่เป็นจริงเป็นจำนวนคี่ มิฉะนั้นส่งกลับ FALSE

Information (1)
ISBLANK

ISBLANK ตรวจสอบเซลล์ว่างจริงเท่านั้น หากเซลล์มีสูตรคืนค่า "" (empty string) จะถือว่าไม่ว่าง

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่