معرفی تابع NOT
تابع NOT در اکسل یکی از توابع منطقی است که نتیجه یک عبارت منطقی را برعکس میکند. یعنی اگر نتیجه یک شرط TRUE باشد، تابع NOT آن را به FALSE تبدیل میکند و اگر نتیجه شرط FALSE باشد، خروجی تابع NOT برابر TRUE خواهد بود.
به زبان ساده، تابع NOT برای زمانی کاربرد دارد که میخواهید بگویید «اگر این شرط برقرار نبود» یا «اگر این اتفاق نیفتاد». این تابع معمولاً بهتنهایی استفاده میشود، اما بیشترین قدرت آن زمانی مشخص میشود که با توابعی مثل IF، AND، OR، COUNTIF و XLOOKUP ترکیب شود.
مثال ساده: فرض کنید در سلول A2 عدد فروش یک کارمند قرار دارد و میخواهیم بررسی کنیم آیا فروش او بیشتر از 100 نیست یا نه.
=NOT(A2>100)
اگر مقدار A2 برابر 80 باشد، شرط A2>100 نادرست است؛ بنابراین تابع NOT آن را برعکس کرده و نتیجه TRUE میدهد. یعنی فروش بیشتر از 100 نیست.
کاربردهای اصلی تابع NOT
- برعکس کردن نتیجه یک شرط منطقی در اکسل
- استفاده در تصمیمگیریهای شرطی همراه با تابع IF
- فیلتر کردن دادههایی که یک شرط خاص را ندارند
- بررسی نبودن یک مقدار، وضعیت یا شرایط مشخص
- ساخت فرمولهای خواناتر برای شرطهای منفی
- ترکیب با AND و OR برای کنترل چند شرط منطقی
- بررسی عدم وجود یک مقدار با COUNTIF
- کنترل خطا یا نتیجه جستجو در ترکیب با توابعی مثل XLOOKUP و ISNA
- استفاده در Conditional Formatting برای هایلایت کردن دادههایی که شرطی را ندارند
ساختار (Syntax)
ساختار اصلی تابع NOT در اکسل بسیار ساده است و فقط یک آرگومان میگیرد.
=NOT(logical)
نمایش مفهومی به فارسی:
=NOT(شرط_منطقی)
نکته مهم این است که تابع NOT برخلاف توابع AND و OR چندین آرگومان مستقل نمیپذیرد. اگر چند شرط دارید، ابتدا باید آنها را با AND یا OR ترکیب کنید و سپس نتیجه را داخل NOT قرار دهید.
=NOT(AND(A2>100,B2="Paid"))
آرگومانها
logical / شرط منطقی
تنها آرگومان تابع NOT یک مقدار منطقی یا عبارتی است که نتیجه آن TRUE یا FALSE باشد. این آرگومان میتواند یک شرط ساده، نتیجه یک تابع منطقی، یا ترکیبی از چند تابع باشد.
نمونه شرط ساده:
=NOT(A2=10)
در این مثال، اگر مقدار A2 برابر 10 باشد، خروجی FALSE میشود؛ چون شرط A2=10 درست است و NOT آن را برعکس میکند.
نمونه استفاده از تابع دیگر بهعنوان آرگومان:
=NOT(ISBLANK(A2))
در این مثال، اگر سلول A2 خالی نباشد، خروجی TRUE خواهد بود.
مثالهای ساده و پایه
مثال 1: بررسی اینکه عدد بیشتر از 50 نیست
فرض کنید مقدار نمره در سلول A2 قرار دارد. میخواهیم بررسی کنیم آیا نمره بیشتر از 50 نیست.
=NOT(A2>50)
اگر A2 برابر 40 باشد، شرط A2>50 نادرست است و تابع NOT نتیجه را TRUE میکند. اگر A2 برابر 70 باشد، شرط درست است و خروجی NOT برابر FALSE خواهد بود.
مثال 2: بررسی اینکه وضعیت برابر با Done نیست
فرض کنید در سلول B2 وضعیت یک کار نوشته شده است. برای بررسی اینکه وضعیت کار Done نیست، از فرمول زیر استفاده میکنیم:
=NOT(B2="Done")
اگر مقدار B2 برابر Done باشد، خروجی FALSE میشود. اگر مقدار B2 برابر Pending یا هر مقدار دیگری باشد، خروجی TRUE خواهد بود.
مثال 3: استفاده از NOT با IF
فرض کنید در سلول C2 وضعیت پرداخت قرار دارد. اگر وضعیت Paid نباشد، میخواهیم پیام «نیاز به پیگیری» نمایش داده شود.
=IF(NOT(C2="Paid"),"نیاز به پیگیری","تسویه شده")
اگر C2 برابر Paid باشد، نتیجه «تسویه شده» است. اگر هر مقدار دیگری مثل Unpaid یا Pending باشد، نتیجه «نیاز به پیگیری» خواهد بود.
مثالهای کاربردی و واقعی
مثال 1: ترکیب NOT با AND برای بررسی نبودن چند شرط همزمان
فرض کنید در ستون A مبلغ فروش و در ستون B وضعیت پرداخت قرار دارد. میخواهیم بررسی کنیم آیا یک سفارش هم مبلغ بالای 1000 دارد و هم پرداخت شده نیست.
=NOT(AND(A2>1000,B2="Paid"))
این فرمول زمانی TRUE میدهد که حداقل یکی از دو شرط برقرار نباشد؛ یعنی یا مبلغ فروش بیشتر از 1000 نیست، یا وضعیت پرداخت Paid نیست، یا هر دو.
مثال 2: ترکیب NOT با OR برای حذف چند وضعیت
فرض کنید در سلول C2 وضعیت سفارش قرار دارد. میخواهیم بررسی کنیم آیا وضعیت سفارش نه Cancelled است و نه Returned.
=NOT(OR(C2="Cancelled",C2="Returned"))
اگر وضعیت سفارش Cancelled یا Returned باشد، خروجی FALSE میشود. در غیر این صورت خروجی TRUE خواهد بود.
مثال 3: ترکیب NOT با COUNTIF برای بررسی نبودن یک مقدار در لیست
فرض کنید لیست کدهای ثبتشده در محدوده A2:A20 قرار دارد و میخواهیم بررسی کنیم آیا کد موجود در D2 داخل این لیست وجود ندارد.
=NOT(COUNTIF(A2:A20,D2)>0)
اگر مقدار D2 در محدوده A2:A20 وجود داشته باشد، COUNTIF عددی بزرگتر از صفر میدهد و NOT نتیجه را FALSE میکند. اگر مقدار وجود نداشته باشد، خروجی TRUE خواهد بود.
مثال 4: ترکیب NOT با SUM برای بررسی اینکه مجموع فروش صفر نیست
فرض کنید فروش روزانه در محدوده B2:B7 ثبت شده است. میخواهیم بررسی کنیم آیا مجموع فروش برابر صفر نیست.
=NOT(SUM(B2:B7)=0)
اگر مجموع فروش صفر باشد، خروجی FALSE میشود. اگر حتی یک مقدار فروش وجود داشته باشد و مجموع صفر نباشد، خروجی TRUE خواهد بود.
مثال 5: ترکیب NOT با XLOOKUP و ISNA برای بررسی پیدا شدن مقدار
فرض کنید کد محصول در سلول E2 قرار دارد و میخواهیم بررسی کنیم آیا این کد در جدول محصولات موجود است یا نه. محدوده کدها A2:A100 و نام محصولات B2:B100 است.
=NOT(ISNA(XLOOKUP(E2,A2:A100,B2:B100)))
اگر XLOOKUP مقدار را پیدا کند، خروجی ISNA برابر FALSE میشود و NOT آن را TRUE میکند. یعنی محصول پیدا شده است. اگر محصول پیدا نشود، خروجی نهایی FALSE خواهد بود.
مثال 6: استفاده از NOT برای کنترل سلول خالی
اگر بخواهید بررسی کنید سلول A2 خالی نیست، میتوانید از ترکیب NOT و ISBLANK استفاده کنید.
=NOT(ISBLANK(A2))
اگر سلول A2 خالی نباشد، نتیجه TRUE است. اگر خالی باشد، نتیجه FALSE خواهد بود.
ترکیب تابع NOT با فرمولهای دیگر
- ترکیب با IF برای اجرای یک نتیجه وقتی شرط برقرار نیست:
=IF(NOT(A2="Active"),"غیرفعال یا نامشخص","فعال")
- ترکیب با AND برای برعکس کردن نتیجه چند شرط همزمان:
=NOT(AND(A2>=18,B2="Yes"))
- ترکیب با OR برای اطمینان از اینکه هیچکدام از چند شرط برقرار نیستند:
=NOT(OR(A2="تهران",A2="کرج"))
- ترکیب با COUNTIF برای بررسی نبودن مقدار در یک لیست:
=NOT(COUNTIF(A2:A50,E2)>0)
- ترکیب با SUM برای بررسی صفر نبودن مجموع:
=NOT(SUM(B2:B10)=0)
- ترکیب با XLOOKUP و ISNA برای بررسی موفق بودن جستجو:
=NOT(ISNA(XLOOKUP(A2,D2:D100,E2:E100)))
- ترکیب با ISERROR برای بررسی اینکه فرمول خطا نداده است:
=NOT(ISERROR(A2/B2))
- ترکیب با FILTER برای نمایش ردیفهایی که یک وضعیت خاص را ندارند:
=FILTER(A2:C100,NOT(C2:C100="Cancelled"))
نکته: در برخی نسخههای اکسل، استفاده مستقیم از NOT روی یک آرایه ممکن است نتیجه مورد انتظار ندهد. در چنین حالتی بهتر است از عملگرهای مقایسهای مستقیم استفاده کنید.
=FILTER(A2:C100,C2:C100"Cancelled")
خطاهای رایج و روش رفع آنها
1) استفاده از چند آرگومان داخل تابع NOT
یکی از اشتباهات رایج این است که کاربر مانند AND یا OR چند شرط را مستقیم داخل NOT وارد میکند.
=NOT(A2>10,B2="Yes")
این فرمول اشتباه است، چون NOT فقط یک آرگومان میپذیرد. برای رفع مشکل، ابتدا شرطها را با AND یا OR ترکیب کنید.
=NOT(AND(A2>10,B2="Yes"))
2) فراموش کردن پرانتزها
تابع NOT حتماً باید شرط منطقی را داخل پرانتز دریافت کند. اگر پرانتزها درست بسته نشوند، اکسل خطای فرمول میدهد.
=NOT(A2>10
برای رفع مشکل، پرانتز بسته را اضافه کنید.
=NOT(A2>10)
3) استفاده از متن بدون علامت نقلقول
اگر میخواهید مقدار یک سلول را با متن مقایسه کنید، متن باید داخل علامت نقلقول قرار بگیرد.
=NOT(A2=Paid)
فرمول درست به شکل زیر است:
=NOT(A2="Paid")
4) اشتباه گرفتن NOT با علامت نامساوی
گاهی برای بررسی برابر نبودن دو مقدار، استفاده از عملگر نامساوی سادهتر و خواناتر از NOT است.
=NOT(A2="Done")
این فرمول از نظر نتیجه مشابه فرمول زیر است:
=A2"Done"
برای رفع ابهام، اگر فقط یک مقایسه ساده دارید، معمولاً استفاده از عملگر نامساوی خواناتر است. اما اگر شرط پیچیدهتر باشد، NOT میتواند مفیدتر باشد.
5) انتظار نتیجه عددی بهجای TRUE و FALSE
خروجی تابع NOT بهصورت TRUE یا FALSE است. اگر میخواهید نتیجه متنی یا عددی نمایش داده شود، باید آن را با IF ترکیب کنید.
=IF(NOT(A2>100),"کمتر یا مساوی 100","بیشتر از 100")
6) مشکل جداکننده آرگومانها در نسخههای مختلف اکسل
در برخی تنظیمات منطقهای اکسل، جداکننده آرگومانها بهجای کاما، نقطهویرگول است. اگر فرمولی با کاما خطا داد، نسخه متناسب با تنظیمات سیستم خود را امتحان کنید.
=IF(NOT(A2>100);"کمتر یا مساوی 100";"بیشتر از 100")
نکات حرفهای و ترفندهای مهم
- اگر فقط میخواهید «برابر نبودن» را بررسی کنید، معمولاً عملگر نامساوی خواناتر است.
- برای شرطهای پیچیده، NOT را همراه با AND یا OR استفاده کنید تا منطق فرمول واضحتر شود.
- نامگذاری محدودهها میتواند خوانایی فرمولهای منطقی را بهتر کند.
- در فرمولهای طولانی، بهتر است ابتدا شرط مثبت را بسازید و سپس در صورت نیاز با NOT آن را برعکس کنید.
- برای جلوگیری از خطا، مطمئن شوید آرگومان داخل NOT واقعاً نتیجه منطقی TRUE یا FALSE تولید میکند.
- در اکسلهای جدیدتر مثل Microsoft 365، میتوانید NOT را در کنار توابع پویا مثل FILTER استفاده کنید، اما گاهی عملگر نامساوی در آرایهها بهتر و قابلاعتمادتر است.
- برای بررسی خالی نبودن سلول، ترکیب NOT و ISBLANK بسیار کاربردی است.
- برای بررسی پیدا شدن مقدار در جستجو، ترکیب NOT با ISNA و XLOOKUP یک روش حرفهای است.
- اگر خروجی TRUE و FALSE برای کاربران نهایی مناسب نیست، آن را با IF به متن قابل فهم تبدیل کنید.
تفاوت تابع NOT با توابع مشابه
تفاوت NOT با AND
تابع AND چند شرط را بررسی میکند و فقط زمانی TRUE میدهد که همه شرطها درست باشند. اما تابع NOT نتیجه یک شرط یا یک عبارت منطقی را برعکس میکند.
=AND(A2>10,B2="Yes")
=NOT(AND(A2>10,B2="Yes"))
فرمول اول بررسی میکند هر دو شرط برقرار باشند. فرمول دوم بررسی میکند که این حالت کامل برقرار نباشد.
تفاوت NOT با OR
تابع OR زمانی TRUE میدهد که حداقل یکی از شرطها درست باشد. اما اگر OR را داخل NOT قرار دهید، نتیجه زمانی TRUE میشود که هیچکدام از شرطها درست نباشند.
=OR(A2="A",A2="B")
=NOT(OR(A2="A",A2="B"))
تفاوت NOT با عملگر نامساوی
عملگر نامساوی برای مقایسه مستقیم دو مقدار استفاده میشود. تابع NOT عمومیتر است و میتواند نتیجه یک شرط پیچیده یا تابع منطقی دیگر را برعکس کند.
=A2"Completed"
=NOT(A2="Completed")
هر دو فرمول در این مثال نتیجه مشابهی دارند، اما در شرطهای پیچیده، NOT انعطاف بیشتری دارد.
تفاوت NOT با IF
تابع IF بر اساس درست یا غلط بودن یک شرط، دو خروجی مختلف برمیگرداند. تابع NOT فقط نتیجه منطقی را برعکس میکند. معمولاً این دو تابع با هم استفاده میشوند.
=IF(NOT(A2="Paid"),"پرداخت نشده","پرداخت شده")
سازگاری با نسخههای مختلف اکسل
تابع NOT از توابع قدیمی و پایهای اکسل است و تقریباً در همه نسخههای اکسل پشتیبانی میشود.
- Excel 2007
- Excel 2010
- Excel 2013
- Excel 2016
- Excel 2019
- Excel 2021
- Excel 2024
- Microsoft 365
- Excel for Mac
- Excel Online
خود تابع NOT در نسخههای قدیمی هم قابل استفاده است، اما برخی ترکیبها مثل XLOOKUP یا FILTER فقط در نسخههای جدیدتر مانند Microsoft 365 و Excel 2021 به بعد در دسترس هستند.
اگر از نسخه قدیمی اکسل استفاده میکنید و XLOOKUP در دسترس نیست، میتوانید از ترکیب INDEX و MATCH یا VLOOKUP استفاده کنید.
سؤالات پرتکرار درباره تابع NOT
تابع NOT دقیقاً چه کاری انجام میدهد؟
نتیجه یک شرط منطقی را برعکس میکند. TRUE را به FALSE و FALSE را به TRUE تبدیل میکند.
آیا تابع NOT میتواند چند شرط را همزمان بگیرد؟
خیر. تابع NOT فقط یک آرگومان میگیرد. برای چند شرط باید از AND یا OR داخل NOT استفاده کنید.
خروجی تابع NOT چیست؟
خروجی آن همیشه یک مقدار منطقی یعنی TRUE یا FALSE است، مگر اینکه فرمول ورودی خطا داشته باشد.
آیا میتوان از NOT با IF استفاده کرد؟
بله، این یکی از رایجترین کاربردهای تابع NOT است.
=IF(NOT(A2="OK"),"بررسی شود","تأیید شده")
برای بررسی خالی نبودن سلول از NOT استفاده کنیم؟
بله، میتوانید از ترکیب NOT و ISBLANK استفاده کنید.
=NOT(ISBLANK(A2))
NOT بهتر است یا عملگر نامساوی؟
برای شرطهای ساده، عملگر نامساوی معمولاً کوتاهتر و خواناتر است. اما برای برعکس کردن شرطهای ترکیبی، NOT گزینه مناسبتری است.
آیا تابع NOT در گوگل شیت هم وجود دارد؟
بله، تابع NOT در Google Sheets نیز پشتیبانی میشود و ساختار آن مشابه اکسل است.
جمعبندی و پیشنهاد یادگیری بعدی
تابع NOT یکی از سادهترین اما کاربردیترین توابع منطقی اکسل است. این تابع زمانی استفاده میشود که بخواهید نتیجه یک شرط را برعکس کنید؛ یعنی بهجای بررسی «برقرار بودن شرط»، بررسی کنید «برقرار نبودن شرط» درست است یا نه.
مهمترین کاربردهای تابع NOT شامل ترکیب با IF، AND، OR، COUNTIF، SUM، ISBLANK، ISNA و XLOOKUP است. اگرچه این تابع بهتنهایی ساده به نظر میرسد، اما در ساخت گزارشهای مدیریتی، اعتبارسنجی دادهها، فیلتر کردن اطلاعات و کنترل وضعیتها بسیار مفید است.
برای یادگیری بهتر بعدی، پیشنهاد میشود توابع IF، AND، OR، COUNTIF، ISBLANK و XLOOKUP را هم یاد بگیرید؛ چون ترکیب این توابع با NOT باعث میشود بتوانید فرمولهای منطقی بسیار حرفهایتری در اکسل بسازید.
