تابع AND
تابع AND در اکسل یک تابع منطقی است که برای بررسی صحیح بودن همزمان چند شرط استفاده میشود. اگر همه شرطهای ورودی به طور همزمان درست باشند خروجی TRUE است وگرنه خروجی FALSE است.
◀️به عنوان مثال، می توان از این تابع استفاده کرد برای بررسی اینکه آیا عددی که در یک سلول قرار گرفته، بین 50 تا 100 هست یا نه.
برای این کار:
- به تابع AND همزمان دو عبارت منطقی را ارائه میدهیم: شرط اول "بزرگتر از 50 بودن" و شرط دوم "کمتر از 100 بودن" را بررسی میکند.
- اکسل مقدار ورودی گرفته و اگر همزمان این دو شرط برقرار بود، در خروجی مینویسد: TRUE و معنی این است که "بله! هر دو شرط برقرار است".
در ادامه نحوه نوشتن فرمول بالا را خواهید دید.
کسانی که مدلهای تصمیمگیری میسازند با موقعیتهای زیادی برخورد میکنند که لازم است درستی همزمان چند شرط را چک کنند. با ترکیب این تابع AND و سایر توابع منطقی در اکسل (مانند تابع OR و IF) میتوان سناریوهای تصمیمگیری پیچیدهتر را مدلسازی کرد.
نحوه نوشتن تابع AND
قالب نوشتن تابع (که به آن syntax میگویند) به شکل زیر است:
=AND(logical1, [logical2], ...)
ورودیهای این تابع همه عبارات منطقی هستند. یعنی هر ورودی معادل TRUE یا FALSE است:
- logical1: اولین شرط یا مقدار منطقی برای ارزیابی (اجباری).
- logical2: شرط دوم یا مقدار منطقی برای ارزیابی. تا 255 شرط را می توان مشخص کرد (اختیاری).
اگر تابع AND را به شکل یک تابع ریاضی ببینیم، ورودیها و خروجی این تابع را میتوان به شکل زیر به تصویر کشید:
✅توجه داشته باشید:
● ورودیهای تابع AND میتوانند مقادیر ثابت، ارجاع به سلولها، آرایهها یا عبارات منطقی باشند.
● ورودیهای تابع AND باید عبارتی باشند که اکسل بتواند آنها را به TRUE یا FALSE را تبدیل کند.
● اگر مقدار متنی وارد کنید یا آدرس یک سلول خالی را بدهید، تابع AND آن را در نظر نمیگیرد.
● اکسل هر عددی به جز صفر (0) را معادل TRUE میداند.
● این تابع به حروف بزرگ و کوچک انگلیسی حساس نیست.
✅ در ادامه بیشتر نحوه نوشتن این تابع را تمرین میکنیم.
انواع مختلف ورودی در تابع AND
ورودیهای تابع AND، یکسری عبارات منطقی هستند (صحیح یا غلط) که میتوان آنها را به شکلهای مختلف وارد کرد.
ورود مستقیم مقدار TRUE یا FALSE
میتوان به طور مستقیم مقادیر منطقی را در تابع AND وارد کرد. به عنوان مثال خروجی تابع زیر TRUE است:
=AND(TRUE)
ارجاع به سلول
شما میتوانید از ارجاع به سلولها استفاده کنید. مثلا میتوان مقدار TRUE را درون سلول A1 نوشت و آنگاه اینطور از ارجاع به آن سلول استفاده کرد:
=AND(A1)
اگر در A1 مقدار منطقی TRUE قرار داشته باشد، نتیجه فرمول بالا TRUE خواهد بود.
ارجاع به ناحیهای از کاربرگ
فرض کنید در هر دو سلول A1 و A2 مقدار TRUE و در سلول A3 مقدار FALSE قرار داشته باشند. در این صورت فرمول زیر را در نظر بگیرید:
=AND(A1:A3)
در این فرمول، آدرس یک ناحیه از اکسل در تابع AND وارد شده است. چون همه سلولهای A1 و A2 و A3 به طور همزمان مقدار TRUE را ندارند پس خروجی تابع AND مقدار FALSE است.
استفاده از مقادیر ثابت عددی
با یادآوری این موضوع که در اکسل، تمامی اعداد غیر صفر معادل TRUE هستند، مثالهای زیر را در نظر بگیرید:
=AND(0)
=AND(1)
=AND(3, 5, -2)
در فرمولهای بالا، ورودیهای تابع همه مقادیر ثابت عددی هستند. در فرمول اول، مقدار صفر معادل FALSE است، بنابراین برای تابع اول یعنی AND(0)، خروجی برابر FALSE خواهد بود.
خروجی تابع دوم و سوم TRUE خواهد بود. چون همه اعداد وارد شده (1 , 3 , 5 , -2) غیرصفر هستند و هر عدد غیرصفر در اکسل معادل TRUE است. پس ورودیهای این توابع همه TRUE هستند.
وارد کردن مقدار ثابت متنی
در مثال زیر، خروجی تابع FALSE است.
=AND(0 , "Text" , 3)
دلیل آن این است که یکی از ورودیها که متن است و تابع AND آن را در نظر نمیگیرد. بنابراین فقط عدد صفر و 3 میماند. عدد صفر از نظر تابع AND معادل FALSE است و همچنین عدد 3 معادل TRUE است. بنابراین تابع بالا را میتوان به شکل زیر نوشت:
=AND(FALSE , TRUE)
و چون همه ورودیها به شکل همزمان صحیح نیستند و حداقل یک ورودی FALSE داریم، بنابراین خروجی FALSE است.
ورود مستقیم آرایه
در مثال زیر یک آرایه با مقادیر 1 و 0 و 3 جزء ورودیهای AND آمده است. مقدار صفر معادل FALSE و مقدار 1 و 2 معادل TRUE قلمداد میشود. از آنجا حداقل یک عبارت منطقی FALSE در این آرایه وجود دارد، کل عبارت معادل FALSE است. به عبارت دیگر به طور همزمان همه ورودیها صحیح نیستند.
=AND({1,0,3})
نوشتن عبارت منطقی در ورودیهای تابع AND
برای وارد کردن عبارت منطقی در ورودیهای تابع AND، میتوانید از عملگرهای شرطی زیر استفاده کنید:
- برابر (==): بررسی میکند که دو مقدار برابر هستند.
- نابرابر (!=): بررسی میکند که دو مقدار برابر نیستند.
- بزرگتر از (>): بررسی میکند که یک مقدار از مقدار دیگر بزرگتر است.
- کمتر از (<): بررسی میکند که یک مقدار از مقدار دیگر کوچکتر است.
- بزرگتر یا مساوی با (>=): بررسی میکند که یک مقدار از مقدار دیگر بزرگتر یا مساوی است.
- کمتر یا مساوی با (<=): بررسی میکند که یک مقدار از مقدار دیگر کوچکتر یا مساوی است.
برای آشنایی بیشتر مثالهای بعدی را ببینید:
حساس نبودن تابع به حروف کوچک و بزرگ انگلیسی
برای بررسی اینکه آیا مقدار سلول A1 برابر با "Yes" است، میتوانید از عبارت شرطی A1="Yes" به شکل زیر استفاده کنید:
=AND(A1="Yes")
اگر عبارت متنی "Yes" یا "yes" در سلول A1 وجود باشد، خروجی تابع TRUE خواهد بود. توجه داشته باشید که این تابع به حروف بزرگ و کوچک حساس نیست.
بررسی قرار گرفتن مقدار در یک محدوده
برای بررسی اینکه آیا مقدار سلول A1 بزرگتر از 50 و همزمان کوچکتر مساوی 100 است، میتوانید از فرمول زیر استفاده کنید:
=AND(A1>50,A1<=100)
در فرمول بالا، اگر مقدار سلول A1 بزرگتر از 50 و کوچکتر یا مساوی با 100 باشد تابع مقدار TRUE را برمیگرداند.
ترکیب AND با سایر توابع منطقی
هدف ما از ترکیب AND با سایر توابع منطقی، ساخت مدلهای کاربردیتر و پیچیدهتر است.
شما می توانید تابع AND را در داخل تابع IF جاسازی کنید. برای مثال می توانید AND را به عنوان logical_test برای تابع IF به صورت زیر ارائه دهید:
=IF(AND(A1<0,A1>5), "Yes", "No")
این فرمول فقط در صورتی "Yes" را برمی گرداند که مقدار A1 همزمان بزرگتر از 0 و کمتر از 5 (در محدوده بین صفر و پنج) باشد.
همچنین می توانید تابع AND را با تابع OR ترکیب کنید. مثلاً فرمول زیر TRUE را زمانی برمی گرداند که همزمان A1 > 100 و مقدار سلول B1 نیز یکی از دو مقدار "Green" یا "Red" باشد:
=AND(A1>100,OR(B1="Green",B1="Red"))
نکتههای تکمیلی در هنگام استفاده از AND
توجه داشته باشید:
- اگر هیچ مقدار منطقی در ورودیهای تابع AND نباشد، خطای #VALUE! رخ میدهد.
- خروجی تابع AND تک مقدار است: یا TRUE یا FALSE. بنابراین در حالاتی که میخواهید با آرایهها کار کنید و میخواهید خروجی شما هم آرایهای از TRUE یا FALSE باشد، نمیتوانید با این تابع کار کنید. راهنمایی: میتوان از قواعد فرمولنویسی آرایهای به همراه علامت ضرب (*) استفاده کرد.
- تابع AND از wildcards پشتیبانی نمی کند یعنی نمیتوان از الگوهای متنی * یا ؟ استفاده کرد و مجموعهای از الگوهای ورودی را ایجاد کرد. بلکه ورودیهای تابع AND فقط باید عبارت منطقی باشند (همانطور که گفتیم، اعداد به عبارات منطقی ترجمه میشوند).
- چون خروجی تابع AND خود عبارتی منطقی است (یا TRUE یا FALSE است)، پس میتوان این تابع را به عنوان بخشی از تابع IF قرار داد. با این کار میتوان از نوشتن IF های تودرتو اضافی جلوگیری کرد.
جمعبندی
- در نهایت خروجی تابع AND دو حالت دارد:
- TRUE: اگر همه شرطها همزمان درست باشند.
- FALSE: اگر حداقل یک شرط نادرست باشد.
- میتوان تابع AND را با سایر توابع منطقی ترکیب کرد و مدلهای پیچیدهتری ساخت.