معرفی تابع AND
تابع AND در اکسل برای «بررسی همزمان چند شرط» استفاده میشود. خروجی این تابع فقط یکی از دو حالت زیر است:
- TRUE (درست): وقتی همه شرطها درست باشند.
- FALSE (نادرست): وقتی حتی یکی از شرطها نادرست باشد.
کاربرد اصلی AND زمانی است که میخواهید چند معیار را با هم بررسی کنید؛ مثلاً «دانشآموز هم نمرهاش بالای 12 باشد و هم غیبتش کمتر از 3 روز». این تابع به تنهایی فقط TRUE/FALSE میدهد، اما معمولاً داخل IF میآید تا نتیجه قابلفهمتری مثل “قبول/رد” نمایش دهد.
مثال ساده فارسی: اگر در سلول A2 نمره و در B2 تعداد غیبت باشد، میخواهیم بررسی کنیم آیا دانشآموز هم نمره 12 یا بیشتر دارد و هم غیبت کمتر از 3 است یا نه.
=AND(A2>=12;B2<3)
کاربردهای اصلی تابع AND
- ساخت شرطهای چندگانه در تابع IF (قبول/رد، فعال/غیرفعال، مجاز/غیرمجاز)
- کنترل اعتبار دادهها (Data Validation) با چند شرط همزمان
- فیلتر و دستهبندی دادهها با منطق چندمعیاره
- ساخت فرمولهای امتیازدهی یا رتبهبندی با چند معیار
- ترکیب با توابع جستجو (مثل XLOOKUP) برای کنترل شرطهای قبل/بعد از جستجو
- ساخت شرطهای پیچیده در گزارشها و داشبوردها
ساختار (Syntax)
ساختار کلی تابع:
=AND(argument1, argument2, ...)
ساختار رایج در اکسل فارسی (با جداکننده ;):
=AND(شرط1;شرط2;...)
آرگومانها
argument1 (شرط اول) / اولین شرط منطقی
یک عبارت منطقی که نتیجهاش TRUE یا FALSE میشود؛ مثل مقایسهها (A2>=10) یا خروجی یک تابع منطقی.
argument2 (شرط دوم) / دومین شرط منطقی
شرط دوم برای بررسی همزمان. AND فقط زمانی TRUE میشود که این شرط و همه شرطهای دیگر TRUE باشند.
argument3, … (شرطهای بیشتر) / شرطهای اضافی
میتوانید شرطهای بیشتری هم اضافه کنید. AND میتواند چندین شرط را یکجا بررسی کند (تا 255 آرگومان).
مثالهای ساده و پایه
مثال 1: بررسی بازه عددی
فرض کنید مقدار در A2 است و میخواهید بررسی کنید آیا بین 10 و 20 (شامل دو سر بازه) قرار دارد یا نه:
=AND(A2>=10;A2<=20)
اگر A2 برابر 15 باشد نتیجه TRUE و اگر 25 باشد نتیجه FALSE میشود.
مثال 2: استفاده همراه با IF برای خروجی خوانا
اگر نمره در A2 و غیبت در B2 باشد، خروجی “قبول” فقط وقتی نمایش داده شود که هر دو شرط برقرار باشند:
=IF(AND(A2>=12;B2<3);"قبول";"رد")
اگر یکی از شرطها برقرار نباشد، نتیجه “رد” خواهد شد.
مثال 3: بررسی خالی نبودن چند سلول
اگر میخواهید مطمئن شوید A2 و B2 هر دو پر هستند:
=AND(A2"";B2"")
وقتی هر دو سلول مقدار داشته باشند TRUE میدهد.
مثالهای کاربردی و واقعی
مثال 1: محاسبه پاداش با SUM و AND
فرض کنید فروش ماه در C2 است و نرخ مرجوعی در D2. اگر فروش ≥ 50000000 و مرجوعی ≤ 2% باشد، 5% پاداش محاسبه شود:
=IF(AND(C2>=50000000;D2<=0.02);C2*0.05;0)
مثال 2: کنترل چند شرط با COUNTIF و AND (ارزیابی یک رکورد)
فرض کنید در E2 کد کالا و در F2 وضعیت موجودی (“موجود/ناموجود”) است. میخواهید بگویید اگر کد کالا در لیست مجاز (A2:A100) وجود دارد و وضعیت هم “موجود” است، “قابل فروش” شود:
=IF(AND(COUNTIF(A2:A100;E2)>0;F2="موجود");"قابل فروش";"غیرقابل فروش")
مثال 3: ترکیب XLOOKUP با AND (بررسی شرایط بعد از بازیابی داده)
فرض کنید در A2 کد پرسنلی است. از جدول پرسنل، “وضعیت استخدام” و “امتیاز عملکرد” را میخوانید و اگر وضعیت “فعال” و امتیاز ≥ 80 بود، نتیجه “واجد شرایط ارتقا” نمایش داده شود. (در این مثال فرض کنید جدول در H:J است: ستون H کد، ستون I وضعیت، ستون J امتیاز)
=IF(AND(XLOOKUP(A2;H:H;I:I)="فعال";XLOOKUP(A2;H:H;J:J)>=80);"واجد شرایط ارتقا";"نیازمند بررسی")
مثال 4: ترکیب OR و AND برای سناریوی واقعی
فرض کنید مشتری یا باید “عضو ویژه” باشد یا “مجموع خریدش ≥ 2000000”؛ و در هر حالت باید بدهیاش صفر باشد. عضویت در B2، مجموع خرید در C2 و بدهی در D2:
=IF(AND(OR(B2="ویژه";C2>=2000000);D2=0);"تخفیف دارد";"تخفیف ندارد")
ترکیب تابع AND با فرمولهای دیگر
- AND + IF برای ساخت خروجی قابلفهم (قبول/رد، مجاز/غیرمجاز)
=IF(AND(A2>=10;B2="بله");"مجاز";"غیرمجاز")
- AND + OR برای منطقهای ترکیبی (بخشی از شرطها کافی باشد، اما بخشی دیگر حتماً لازم باشد)
=AND(OR(A2="تهران";A2="کرج");B2>=3)
- AND + COUNTIF/COUNTIFS برای کنترل وجود داشتن/نداشتن همراه با شرطهای دیگر
=IF(AND(COUNTIF(A:A;E2)>0;F2"");"معتبر";"نامعتبر")
- AND + XLOOKUP برای اعتبارسنجی نتیجه جستجو و اعمال تصمیم
=IF(AND(XLOOKUP(A2;H:H;I:I)="فعال";XLOOKUP(A2;H:H;J:J)>0);"پرداخت شود";"پرداخت نشود")
- AND + SUM برای شرطگذاری روی محاسبه (گاهی بهتر است با IF انجام شود)
=IF(AND(B2="قطعی";C2>=0);SUM(D2:F2);0)
خطاهای رایج و روش رفع آنها
1) استفاده از جداکننده اشتباه (ویرگول به جای ; یا برعکس)
اگر اکسل شما فارسی باشد معمولاً جداکننده آرگومانها “;” است. اگر فرمولی را با “,” وارد کنید ممکن است خطا بگیرید.
راهحل: جداکننده را مطابق تنظیمات اکسل خود اصلاح کنید. برای اکسل فارسی:
=AND(A2>=10;B2="بله")
2) گذاشتن متن بدون کوتیشن
هر متنی در شرط باید داخل ” ” باشد. اگر بنویسید B2=بله خطا یا نتیجه غلط میدهد.
راهحل:
=AND(B2="بله";A2>0)
3) مقایسه تاریخ/عددهایی که متنی ذخیره شدهاند
گاهی عدد یا تاریخ در سلول به شکل متن وارد شده و مقایسهها درست عمل نمیکنند.
راهحل: نوع داده را درست کنید (تبدیل به Number/Date) یا در فرمول تبدیل انجام دهید. نمونه تبدیل به عدد:
=AND(VALUE(A2)>=10;VALUE(A2)<=20)
4) خالی بودن سلولها و نتیجه غیرمنتظره
ممکن است یکی از سلولها خالی باشد و شرطی مثل A2>=10 نتیجه FALSE بدهد و کل AND را FALSE کند.
راهحل: قبل از مقایسه، خالی نبودن را چک کنید:
=AND(A2"";A2>=10;B2"")
5) اشتباه گرفتن AND با OR
AND یعنی “همه شرطها” باید درست باشد؛ اگر انتظار دارید با درست بودن یکی از شرطها نتیجه TRUE شود، باید OR استفاده کنید.
راهحل (نمونه OR):
=OR(A2>=12;B2<3)
نکات حرفهای و ترفندهای مهم
- خوانایی را با گروهبندی شرطها بالا ببرید: وقتی AND و OR را ترکیب میکنید، از پرانتزگذاری منطقی استفاده کنید تا فرمول دقیقاً همان چیزی شود که میخواهید.
- به جای AND طولانی، گاهی COUNTIFS بهتر است: اگر چند شرط روی یک جدول دارید، COUNTIFS هم خواناتر است هم قابل توسعهتر.
- برای چک کردن بازهها AND بهترین انتخاب است: مثل “بین 10 و 20” یا “بین دو تاریخ”.
- از IF + AND برای خروجی کاربرپسند استفاده کنید: خود AND فقط TRUE/FALSE میدهد و برای گزارشهای مدیریتی معمولاً کافی نیست.
- در اکسلهای جدید از LET برای مرتبتر شدن فرمولهای سنگین کمک بگیرید: مخصوصاً وقتی یک XLOOKUP را چند بار تکرار میکنید.
تفاوت تابع AND با توابع مشابه
- AND vs OR: در AND همه شرطها باید درست باشند؛ در OR کافی است یکی درست باشد.
=AND(A2>0;B2>0)
=OR(A2>0;B2>0)
- AND vs IFS: IFS برای انتخاب نتیجه بر اساس چند شرطِ پشتسرهم است (مثل چند IF تو در تو). AND صرفاً یک تابع منطقی برای ترکیب شرطهاست.
=IFS(A2>=90;"A";A2>=80;"B";A2>=70;"C";TRUE;"D")
- AND vs * در برخی فرمولهای قدیمی آرایهای: بعضیها برای ترکیب شرطها از ضرب (*) استفاده میکنند (TRUE=1 و FALSE=0). این روش همیشه خوانا نیست و برای مبتدیها پیشنهاد نمیشود.
- AND vs COUNTIFS: AND برای یک ردیف/چند شرط منطقی عالی است؛ COUNTIFS برای شمردن رکوردهایی که همزمان چند شرط دارند مناسبتر است.
=COUNTIFS(A:A;"تهران";B:B;">=3")
سازگاری با نسخههای مختلف اکسل
- تابع AND از نسخههای قدیمی اکسل تا نسخههای جدید (Excel 2007، 2010، 2013، 2016، 2019، 2021 و Microsoft 365) پشتیبانی میشود.
- تفاوت مهم معمولاً در جداکننده آرگومانها است: در بسیاری از سیستمهای فارسی “;” و در برخی تنظیمات انگلیسی “,” استفاده میشود.
- اگر AND را با توابع جدید مثل XLOOKUP یا LET ترکیب میکنید، توجه کنید که این توابع در نسخههای قدیمیتر ممکن است وجود نداشته باشند.
سؤالات پرتکرار درباره تابع AND
آیا AND میتواند بیش از دو شرط داشته باشد؟
بله، میتوانید چندین شرط وارد کنید و فقط اگر همه TRUE باشند خروجی TRUE میشود.
اگر یکی از شرطها خطا بدهد چه میشود؟
معمولاً کل فرمول هم همان خطا را برمیگرداند. در این حالت بهتر است منبع خطا را پیدا کنید یا از IFERROR در اطراف بخشهای حساس استفاده کنید.
=IFERROR(AND(A2>0;B2>0);FALSE)
AND برای متن هم کار میکند؟
بله، میتوانید متن را با “=” مقایسه کنید (مثل B2=”فعال”) و همزمان با شرطهای عددی ترکیب کنید.
چطور AND را طوری استفاده کنم که نتیجه “قبول/رد” بدهد؟
آن را داخل IF قرار دهید.
=IF(AND(A2>=12;B2<3);"قبول";"رد")
جمعبندی و پیشنهاد یادگیری بعدی
تابع AND یکی از مهمترین ابزارهای منطقی در اکسل است که به شما اجازه میدهد چند شرط را همزمان بررسی کنید. به تنهایی TRUE/FALSE میدهد، اما قدرت واقعی آن وقتی مشخص میشود که با IF، OR، COUNTIF/COUNTIFS و XLOOKUP ترکیب شود و تصمیمهای دقیقتری در گزارشها و تحلیلها بسازید.
پیشنهاد یادگیری بعدی: بعد از AND، یادگیری توابع IF، OR، COUNTIFS و سپس XLOOKUP (برای اکسلهای جدید) باعث میشود بتوانید سناریوهای واقعی کسبوکار را خیلی حرفهایتر پیاده کنید.
