تابع IF در دسته توابع منطقی (Logical) قرار دارد. این تابع یک شرط منطقی را تست میکند و بسته به درست یا نادرست بودن نتیجه، واکنشهای متفاوتی نشان میدهد. با استفاده از IF تودرتو، میتوان بیش از یک شرط را آزمایش کرد. همچنین میتوان تابع IF را با توابع منطقی مانند AND و OR ترکیب کرد تا شرط منطقی را گسترش داد. نتیجه IF میتواند یک مقدار، یک مرجع سلول یا حتی فرمول دیگری باشد.
هدف تابع
تست شرطی خاص
خروجی
مقادیری که برای TRUE یا FALSE ارائه میکنید.
ساختار
=IF(logical_test,[value_if_true],[value_if_false])
آرگومانها
logical_test: یک مقدار یا عبارت منطقی که میتواند به عنوان TRUE یا FALSE ارزیابی شود. (در این قسمت میتوان از عملگرهای منطقی استفاده نمود.)
value_if_true [اختیاری]: مقداری که هنگام برقرار بودن شرط (logical_test) باز میگردد.
value_if_false [اختیاری]: مقداری که باید در زمان عدم رعایت شرط برگردانده شود.
*در صورتی که آرگومانهای دوم و سوم خالی گذاشته شود، اکسل TRUE یا FALSE را نمایش میدهد. اگر قصد دارید سلول خالی نشان دهد از “” استفاده کنید.
کاربرد
فرض کنید میخواهیم وضعیت قبولی شاگردان را مشخص کنیم. بدین منظور فرمول زیر را مینویسیم:
=IF(B5>=14,"مردود","قبول")
ترجمه: اگه مقدار سلول B5 بزرگتر مساوی 14 بود (شرط منطقی)، “قبول” را نمایش بده؛ در غیر این صورت “مردود” را نشان بده.
*برای نوشتن حروف باید قبل و بعد آن ” گذاشته شود.
تابع IF میتواند فرمول دیگری را در نتیجه برگرداند. برای مثال، زمانی که A1 کمتر از 100 باشد، فرمول زیر A1*5% و زمانی که A1 بزرگتر یا مساوی 100 باشد، A1*7% را برمیگرداند:
=IF(A1<100,A1*5%,A1*7%)
IF تو در تو
تابع IF را میتوان “تودرتو” نوشت. “IF تودرتو” به فرمولی اشاره دارد که در آن حداقل یک تابع IF در داخل دیگری قرار گیرد تا شرایط بیشتری را آزمایش کند و نتایج احتمالی بیشتری را ارائه دهد. هر عبارت IF باید به دقت در داخل دیگری قرار گیرد تا منطق درست باشد.
برای مثال فرض کنید میخواهیم شاگردان را بر اساس نمراتشان طبقهبندی کنیم:
=IF(D6<10,"D",IF(D6<15,"C",IF(D6<17,"B","A")))
ترجمه: اگر سلول D6 کوچکتر از 10 بود “D” را برگردان؛ در غیر اینصورت، اگر سلول D6 کوچکتر از 15 بود “C” را نشان بده؛ در غیر اینصورت، اگر سلول D6 کوچکتر از 17 بود “B” و اگر نبود “A” را نمایش بده.
ورژن مورد نیاز
اکسل 2003 و بالاتر
پینوشت
*تابع IF از کارکترهای wildcards پشتیبانی نمیکند و باید از توابع دیگر مثل COUNTIF کمک گرفت.
*در نسخه 2019 و بالاتر، میتوان از تابع IFS به جای IFهای تودرتو استفاده کرد.
*برای جمع شرطی میتوان از توابع SUMIF و SUMIFS، شمارش شرطی از توابع COUNTIF و COUNTIFS و … استفاده نمود.
*اگر هر یک از آرگومانهای IF به صورت آرایه ارائه شود، تابع IF هر عنصر آرایه را ارزیابی میکند.