معرفی تابع IF
تابع IF یکی از مهمترین و پرکاربردترین توابع اکسل است. این تابع برای تصمیمگیری در فرمولها استفاده میشود؛ یعنی اکسل یک شرط را بررسی میکند و اگر شرط درست باشد یک نتیجه، و اگر شرط نادرست باشد نتیجه دیگری را برمیگرداند.
به زبان ساده، تابع IF یعنی: «اگر این اتفاق افتاد، این کار را انجام بده؛ در غیر این صورت، کار دیگری انجام بده.»
مثلاً فرض کنید نمره دانشآموزی در سلول A2 قرار دارد. اگر نمره او 10 یا بیشتر باشد، میخواهیم عبارت «قبول» نمایش داده شود و اگر کمتر از 10 باشد، عبارت «مردود» نمایش داده شود.
=IF(A2>=10,"قبول","مردود")
در این فرمول، اکسل مقدار سلول A2 را بررسی میکند. اگر مقدار آن 10 یا بیشتر باشد نتیجه «قبول» است، در غیر این صورت نتیجه «مردود» خواهد بود.
کاربردهای اصلی تابع IF
تابع IF تقریباً در همه فایلهای اکسل کاربرد دارد، مخصوصاً زمانی که بخواهید بر اساس یک شرط تصمیمگیری کنید.
- نمایش نتیجه قبولی یا مردودی بر اساس نمره
- محاسبه پاداش یا جریمه بر اساس عملکرد
- دستهبندی مشتریان، محصولات یا کارمندان
- بررسی موجودی کالا و نمایش وضعیت «موجود» یا «ناموجود»
- کنترل تاریخها، مثل بررسی سررسید پرداخت
- ساخت گزارشهای مدیریتی و داشبوردهای شرطی
- ترکیب با توابعی مثل SUM، AND، OR، COUNTIF و XLOOKUP
- جلوگیری از نمایش خطا یا مقدارهای نامناسب در گزارش
ساختار (Syntax)
ساختار کلی تابع IF در اکسل به صورت زیر است:
=IF(logical_test, value_if_true, value_if_false)
معادل توضیحی فارسی آن به این شکل است:
=IF(آزمون_منطقی; مقدار_اگر_درست; مقدار_اگر_نادرست)
نکته مهم: در بسیاری از نسخههای اکسل با تنظیمات انگلیسی، جداکننده آرگومانها کاما است. اما در بعضی تنظیمات منطقهای، بهخصوص در سیستمهایی با تنظیمات فارسی یا اروپایی، ممکن است لازم باشد از نقطهویرگول استفاده کنید.
آرگومانها
logical_test / آزمون منطقی
این آرگومان همان شرطی است که اکسل باید بررسی کند. نتیجه این شرط باید یکی از دو حالت درست یا نادرست باشد.
برای مثال، بررسی میکنیم آیا مقدار سلول A2 بزرگتر یا مساوی 10 است یا نه:
A2>=10
value_if_true / مقدار اگر شرط درست باشد
این آرگومان مشخص میکند اگر شرط برقرار بود، اکسل چه چیزی نمایش دهد یا چه محاسبهای انجام دهد.
مثلاً اگر نمره 10 یا بیشتر بود، عبارت «قبول» نمایش داده شود:
=IF(A2>=10,"قبول","مردود")
value_if_false / مقدار اگر شرط نادرست باشد
این آرگومان مشخص میکند اگر شرط برقرار نبود، اکسل چه نتیجهای برگرداند.
در مثال زیر اگر فروش کمتر از 5000000 باشد، پاداش صفر در نظر گرفته میشود:
=IF(B2>=5000000,500000,0)
مثالهای ساده و پایه
مثال 1: قبولی یا مردودی دانشآموز
فرض کنید نمره دانشآموز در سلول A2 قرار دارد. میخواهیم اگر نمره 10 یا بیشتر بود، عبارت «قبول» و در غیر این صورت «مردود» نمایش داده شود.
=IF(A2>=10,"قبول","مردود")
اگر مقدار A2 برابر 14 باشد، نتیجه «قبول» خواهد بود. اگر مقدار A2 برابر 8 باشد، نتیجه «مردود» نمایش داده میشود.
مثال 2: بررسی موجودی کالا
فرض کنید تعداد موجودی یک کالا در سلول B2 قرار دارد. اگر موجودی بیشتر از صفر باشد، عبارت «موجود» و اگر صفر باشد، عبارت «ناموجود» نمایش داده شود.
=IF(B2>0,"موجود","ناموجود")
این فرمول برای گزارشهای انبار و فروشگاهها بسیار کاربردی است.
مثال 3: محاسبه پاداش فروش
فرض کنید مبلغ فروش هر کارمند در سلول C2 ثبت شده است. اگر فروش او حداقل 10000000 باشد، پاداش 1000000 دریافت کند؛ در غیر این صورت پاداش صفر باشد.
=IF(C2>=10000000,1000000,0)
در این مثال، IF میتواند به صورت خودکار پاداش را بر اساس میزان فروش محاسبه کند.
مثالهای کاربردی و واقعی
ترکیب IF با SUM برای بررسی مجموع فروش
فرض کنید فروش ماههای مختلف در سلولهای B2 تا B6 قرار دارد. اگر مجموع فروش بیشتر از 50000000 باشد، عبارت «هدف محقق شد» نمایش داده شود و در غیر این صورت «نیاز به تلاش بیشتر» نمایش داده شود.
=IF(SUM(B2:B6)>50000000,"هدف محقق شد","نیاز به تلاش بیشتر")
این روش برای گزارشهای فروش ماهانه و بررسی تحقق هدف بسیار مناسب است.
ترکیب IF با AND برای بررسی چند شرط همزمان
فرض کنید نمره کتبی در سلول B2 و نمره عملی در سلول C2 قرار دارد. دانشآموز زمانی قبول است که نمره کتبی حداقل 10 و نمره عملی حداقل 12 باشد.
=IF(AND(B2>=10,C2>=12),"قبول","مردود")
تابع AND زمانی نتیجه درست میدهد که همه شرطها درست باشند.
ترکیب IF با OR برای بررسی حداقل یکی از شرطها
فرض کنید اگر مشتری یا خرید بالای 5000000 داشته باشد یا عضو باشگاه مشتریان باشد، شامل تخفیف شود. مبلغ خرید در B2 و وضعیت عضویت در C2 قرار دارد.
=IF(OR(B2>=5000000,C2="عضو"),"دارای تخفیف","بدون تخفیف")
تابع OR زمانی نتیجه درست میدهد که حداقل یکی از شرطها درست باشد.
ترکیب IF با COUNTIF برای بررسی وجود مقدار
فرض کنید لیست کدهای تخفیف معتبر در محدوده A2 تا A20 قرار دارد و کد وارد شده توسط کاربر در سلول D2 است. میخواهیم بررسی کنیم آیا این کد معتبر است یا نه.
=IF(COUNTIF(A2:A20,D2)>0,"کد معتبر است","کد نامعتبر است")
این فرمول برای فرمهای ثبت سفارش، کنترل کد تخفیف یا بررسی کد پرسنلی کاربرد دارد.
ترکیب IF با XLOOKUP برای جستجوی شرطی
فرض کنید کد کالا در سلول A2 وارد میشود. کد کالاها در محدوده D2 تا D20 و قیمتها در محدوده E2 تا E20 قرار دارند. اگر سلول A2 خالی باشد، چیزی نمایش داده نشود؛ در غیر این صورت قیمت کالا جستجو شود.
=IF(A2="","",XLOOKUP(A2,D2:D20,E2:E20,"یافت نشد"))
این روش باعث میشود تا زمانی که کاربر کدی وارد نکرده، نتیجه اضافی یا خطا در سلول نمایش داده نشود.
ترکیب تابع IF با فرمولهای دیگر
تابع IF به تنهایی قدرتمند است، اما زمانی که با توابع دیگر ترکیب شود، میتواند مسائل پیچیدهتری را حل کند.
- ترکیب IF با AND برای بررسی چند شرط همزمان
- ترکیب IF با OR برای بررسی برقرار بودن حداقل یکی از شرطها
- ترکیب IF با SUM برای تصمیمگیری بر اساس مجموع اعداد
- ترکیب IF با COUNTIF برای بررسی وجود یا تعداد یک مقدار خاص
- ترکیب IF با XLOOKUP برای کنترل خروجی جستجو
- ترکیب IF با ISBLANK برای بررسی خالی بودن سلول
- ترکیب IF با IFERROR برای مدیریت خطاها
- ترکیب IF با TODAY برای بررسی تاریخها و سررسیدها
IF همراه با ISBLANK
اگر بخواهید بررسی کنید یک سلول خالی است یا نه، میتوانید از ترکیب IF و ISBLANK استفاده کنید.
=IF(ISBLANK(A2),"سلول خالی است","سلول مقدار دارد")
IF همراه با IFERROR
اگر فرمولی ممکن است خطا بدهد، میتوانید با IFERROR خروجی خطا را کنترل کنید.
=IFERROR(IF(A2>=10,"قبول","مردود"),"خطا در داده")
IF همراه با TODAY برای بررسی سررسید
فرض کنید تاریخ سررسید پرداخت در سلول B2 قرار دارد. اگر تاریخ سررسید قبل از امروز باشد، عبارت «معوق» نمایش داده شود؛ در غیر این صورت «در مهلت» نمایش داده شود.
=IF(TODAY()>B2,"معوق","در مهلت")
خطاهای رایج و روش رفع آنها
1. فراموش کردن علامت مساوی در ابتدای فرمول
در اکسل همه فرمولها باید با علامت مساوی شروع شوند. اگر این علامت را ننویسید، اکسل فرمول را به عنوان متن در نظر میگیرد.
روش رفع: فرمول را با علامت مساوی شروع کنید.
=IF(A2>=10,"قبول","مردود")
2. استفاده اشتباه از جداکننده آرگومانها
در بعضی سیستمها باید از کاما و در بعضی دیگر از نقطهویرگول استفاده شود. اگر جداکننده را اشتباه وارد کنید، اکسل ممکن است خطای فرمول بدهد.
روش رفع: اگر فرمول با کاما کار نکرد، نسخه نقطهویرگول را امتحان کنید.
=IF(A2>=10;"قبول";"مردود")
3. قرار ندادن متن داخل علامت نقلقول
اگر خروجی تابع IF متن باشد، باید متن را داخل علامت نقلقول دوتایی قرار دهید.
روش رفع: متنهایی مثل قبول، مردود، موجود و ناموجود را داخل علامت نقلقول قرار دهید.
=IF(B2>0,"موجود","ناموجود")
4. جابهجا نوشتن نتیجه درست و نادرست
یکی از اشتباهات رایج این است که مقدار مربوط به شرط درست و مقدار مربوط به شرط نادرست را برعکس وارد کنیم.
روش رفع: همیشه ترتیب تابع IF را به خاطر داشته باشید: اول شرط، بعد نتیجه در صورت درست بودن، سپس نتیجه در صورت نادرست بودن.
=IF(A2>=10,"قبول","مردود")
5. پیچیده کردن بیش از حد فرمولهای IF تو در تو
گاهی کاربران برای چندین حالت مختلف، چند IF را داخل هم قرار میدهند. این کار ممکن است فرمول را سختخوان و خطاپذیر کند.
روش رفع: اگر نسخه اکسل شما پشتیبانی میکند، برای چند شرط بهتر است از تابع IFS استفاده کنید.
=IFS(A2>=18,"عالی",A2>=14,"خوب",A2>=10,"قابل قبول",A2>0,"مردود")
6. مقایسه عدد با متن
گاهی عددها در ظاهر عدد هستند اما در واقع به صورت متن ذخیره شدهاند. در این حالت ممکن است نتیجه تابع IF درست نباشد.
روش رفع: قالب سلولها را بررسی کنید و در صورت نیاز دادههای متنی را به عدد تبدیل کنید.
=IF(VALUE(A2)>=10,"قبول","مردود")
7. خالی بودن سلولهای ورودی
اگر سلولی که در شرط استفاده شده خالی باشد، ممکن است نتیجه فرمول برای کاربر گیجکننده باشد.
روش رفع: ابتدا خالی بودن سلول را بررسی کنید، سپس شرط اصلی را اجرا کنید.
=IF(A2="","بدون داده",IF(A2>=10,"قبول","مردود"))
نکات حرفهای و ترفندهای مهم
- برای متنها همیشه از علامت نقلقول دوتایی استفاده کنید.
- برای خوانایی بهتر، شرط را ساده و قابل فهم بنویسید.
- اگر تعداد شرطها زیاد است، به جای IFهای تو در تو از IFS یا SWITCH استفاده کنید.
- برای بررسی چند شرط همزمان از AND و OR کمک بگیرید.
- برای جلوگیری از نمایش خطا، IF را با IFERROR ترکیب کنید.
- اگر فرمول خیلی طولانی شد، بهتر است از ستون کمکی استفاده کنید.
- در گزارشهای حرفهای، خروجیهای متنی را یکدست بنویسید؛ مثلاً همیشه از «قبول» استفاده کنید، نه یکبار «قبول» و بار دیگر «پذیرفته».
- هنگام کپی کردن فرمولها، به آدرسدهی نسبی و مطلق سلولها دقت کنید.
- برای ثابت نگه داشتن یک محدوده، از علامت دلار در آدرس سلول استفاده کنید.
مثال استفاده از محدوده ثابت در ترکیب IF و COUNTIF:
=IF(COUNTIF($A$2:$A$20,D2)>0,"موجود در لیست","یافت نشد")
در این فرمول، محدوده A2 تا A20 هنگام کپی کردن فرمول ثابت باقی میماند.
تفاوت تابع IF با توابع مشابه
تفاوت IF با IFS
تابع IF برای یک شرط یا تعداد کمی شرط مناسب است. اما اگر چندین شرط پشت سر هم دارید، تابع IFS خواناتر و سادهتر است.
نمونه با IF تو در تو:
=IF(A2>=18,"عالی",IF(A2>=14,"خوب",IF(A2>=10,"قابل قبول","مردود")))
نمونه مشابه با IFS:
=IFS(A2>=18,"عالی",A2>=14,"خوب",A2>=10,"قابل قبول",A2>0,"مردود")
تفاوت IF با SWITCH
تابع SWITCH بیشتر زمانی مناسب است که بخواهید یک مقدار مشخص را با چند حالت ثابت مقایسه کنید. اما IF برای شرطهای منطقی مثل بزرگتر بودن، مساوی بودن یا ترکیب چند شرط انعطاف بیشتری دارد.
مثال با SWITCH برای تبدیل کد وضعیت به متن:
=SWITCH(A2,1,"در انتظار",2,"تایید شده",3,"رد شده","نامشخص")
تفاوت IF با IFERROR
تابع IF برای تصمیمگیری بر اساس شرط استفاده میشود، اما IFERROR برای مدیریت خطاهای فرمولها کاربرد دارد. اگر هدف شما بررسی یک شرط منطقی است، از IF استفاده کنید. اگر هدف کنترل خطاهایی مثل خطای تقسیم بر صفر یا پیدا نشدن مقدار است، IFERROR مناسبتر است.
=IFERROR(A2/B2,"خطا در محاسبه")
تفاوت IF با CHOOSE
تابع CHOOSE بر اساس شماره گزینه، یک مقدار را از بین چند گزینه انتخاب میکند. اما IF بر اساس درست یا نادرست بودن یک شرط تصمیم میگیرد.
=CHOOSE(A2,"فروردین","اردیبهشت","خرداد")
سازگاری با نسخههای مختلف اکسل
تابع IF از قدیمیترین توابع اکسل است و تقریباً در همه نسخههای اکسل پشتیبانی میشود.
- Excel 2007
- Excel 2010
- Excel 2013
- Excel 2016
- Excel 2019
- Excel 2021
- Microsoft 365
- Excel Online
- نسخههای جدید اکسل در ویندوز و مک
نکته مهم این است که خود تابع IF در همه این نسخهها وجود دارد، اما بعضی توابعی که ممکن است با IF ترکیب شوند، مثل XLOOKUP یا IFS، فقط در نسخههای جدیدتر اکسل و Microsoft 365 در دسترس هستند.
اگر از نسخههای قدیمیتر اکسل استفاده میکنید و تابع XLOOKUP در دسترس نیست، میتوانید از ترکیب INDEX و MATCH یا VLOOKUP استفاده کنید.
=IF(A2="","",VLOOKUP(A2,D2:E20,2,FALSE))
سؤالات پرتکرار درباره تابع IF
تابع IF در اکسل چه کاری انجام میدهد؟
تابع IF یک شرط را بررسی میکند و بر اساس درست یا نادرست بودن آن، یکی از دو نتیجه مشخصشده را برمیگرداند.
آیا میتوان داخل تابع IF از متن فارسی استفاده کرد؟
بله. کافی است متن فارسی را داخل علامت نقلقول دوتایی قرار دهید.
=IF(A2>=10,"قبول","مردود")
آیا میتوان از IF برای چند شرط استفاده کرد؟
بله. میتوانید از IF تو در تو استفاده کنید یا تابع IF را با AND و OR ترکیب کنید. در نسخههای جدیدتر اکسل، برای چند شرط بهتر است از IFS استفاده کنید.
چرا فرمول IF من خطا میدهد؟
دلایل رایج شامل اشتباه در جداکننده آرگومانها، فراموش کردن علامت نقلقول برای متن، اشتباه در پرانتزها یا استفاده از دادههای نامعتبر است.
فرق IF با AND چیست؟
IF تصمیم میگیرد چه نتیجهای نمایش داده شود، اما AND فقط بررسی میکند آیا همه شرطها درست هستند یا نه. معمولاً AND داخل IF استفاده میشود.
=IF(AND(A2>=10,B2>=10),"قبول","مردود")
فرق IF با OR چیست؟
OR بررسی میکند آیا حداقل یکی از شرطها درست است یا نه. معمولاً OR هم داخل IF استفاده میشود.
=IF(OR(A2>=10,B2>=10),"قابل بررسی","رد")
آیا میتوان خروجی IF را عدد قرار داد؟
بله. خروجی تابع IF میتواند متن، عدد، تاریخ، فرمول یا حتی یک سلول خالی باشد.
=IF(A2>=10000000,1000000,0)
جمعبندی و پیشنهاد یادگیری بعدی
تابع IF یکی از پایهایترین و مهمترین توابع اکسل است. با این تابع میتوانید در فایلهای خود تصمیمگیری شرطی انجام دهید؛ مثلاً قبولی یا مردودی را مشخص کنید، پاداش محاسبه کنید، وضعیت موجودی کالا را نمایش دهید یا گزارشهای مدیریتی هوشمند بسازید.
اگر تازه یادگیری اکسل را شروع کردهاید، تسلط بر تابع IF یک قدم بسیار مهم است. بعد از یادگیری IF، پیشنهاد میشود توابع AND، OR، IFS، IFERROR، COUNTIF، SUMIF و XLOOKUP را یاد بگیرید، چون این توابع در کنار IF میتوانند فرمولهای بسیار کاربردی و حرفهای بسازند.
