تابع IFS در اکسل
تابع IFS یکی از توابع منطقی جدید در اکسل است که بهجای تو در تو کردن چندین IF، امکان بررسی چند شرط و بازگرداندن نتیجه متناظر با اولین شرط درست را بهصورت خواناتر و قابلنگهداریتر فراهم میکند. این مقاله کاربردها، مثالهای عملی، محدودیتها و جایگزینهای مناسب را به زبان ساده و حرفهای توضیح میدهد.
مقدمهای کوتاه درباره IFS
تابع IFS از نسخههای جدیدتر اکسل (Excel 2016 از طریق Office 365 و نسخههای بعدی) در دسترس است. ساختار کلی آن:
=IFS(condition1, value1, condition2, value2, ...)هر بار که یک شرط (condition) درست شود، مقدار متناظر (value) برگردانده میشود و بررسی بقیه شروط متوقف میشود.
مزایا نسبت به ساختارهای تو در تو IF
- خوانایی بهتر: ساختار سادهتر و قابلفهمتر نسبت به IFهای تو در تو.
- اشتباهپذیری کمتر: تعداد براکتها و پیچیدگی کد کاهش مییابد.
- قابلیت نگهداری آسانتر: افزودن یا حذف شرطها سادهتر است.
مثال پایهای
=IFS(A2>=90, "A", A2>=80, "B", A2>=70, "C", A2>=60, "D", A2<60, "F")در این مثال، نمره در سلول A2 به دستهبندی حرفی تبدیل میشود. تابع اولین شرطی که برقرار باشد را بررسی و مقدار مربوطه را برمیگرداند.
مثال واقعی: دستهبندی فروش
فرض کنید ستونی با مقادیر فروش دارید و میخواهید برچسب “ پر فروش ”، “متوسط” یا “پایین” اختصاص دهید:
=IFS(B2>100000, "Very High", B2>50000, "High", B2>20000, "Medium", B2<=20000, "Low")این فرمول اول با B2>100000 شروع میکند و اگر درست باشد “Very High” را برمیگرداند؛ در غیر این صورت به شرط بعدی میرود.
استفاده با تابع IFERROR برای جلوگیری از خطا
اگر هیچ شرطی درست نشود، IFS خطا صادر میکند. معمولاً بهتر است یک شرط نهایی همواره درست اضافه کنید یا از IFERROR استفاده کنید:
=IFERROR(IFS(C2="M","Male", C2="F","Female"), "Unknown")در اینجا اگر مقدار در C2 نه “M” باشد و نه “F”، IFS خطا میدهد و IFERROR مقدار “Unknown” را نمایش میدهد.
مقایسه با تو در تو IF و SWITCH
- IFS خواناتر از IFهای تو در تو است و پیشنهاد میشود زمانی که تعداد شروط زیاد است، از IFS استفاده کنید.
- تابع SWITCH زمانی مفید است که یک مقدار معادلسازی (match) بین یک عبارت و چند خروجی داشته باشید؛ برای مثال بر اساس رشته ثابت با مقادیر مشخص.
- برای نگاشتهای طولانی و قابل بروزرسانی، استفاده از جدول مرجع و XLOOKUP/VLOOKUP سریعتر و قابل نگهداریتر است.
مثال ترکیبی: LET و IFS برای بهبود عملکرد
=LET(score, A2,
IFS(score>=90, "A", score>=80, "B", score>=70, "C", score>=60, "D", TRUE, "F"))در این مثال از LET استفاده شده تا مقدار A2 یکبار ذخیره و سپس در شروط مختلف استفاده شود. این کار خوانایی را بیشتر و در محاسبات پیچیدهتر، کارایی را نیز بهبود میدهد.
نکات عملی و عملکردی
- در مجموعههای بزرگ داده احتمال کمی کندی نسبت به یک VLOOKUP/XLOOKUP وجود دارد؛ برای هزاران ردیف، بهتر است تبدیل به یک جدول مرجع کرده و از XLOOKUP استفاده کنید.
- اضافه کردن شرط نهایی TRUE یا 1 برای مدیریت حالت پیشفرض توصیه میشود، تا از خطای #N/A یا #VALUE! جلوگیری شود.
- ترتیب شرطها مهم است؛ شرطهای اختصاصیتر باید قبل از شروط عمومیتر قرار بگیرند.
نمونه جدول ورودی و خروجی
| فروش (B) | برچسب |
|---|---|
| 120000 | Very High |
| 75000 | High |
| 30000 | Medium |
| 15000 | Low |
استفادههای پیشرفته و نکات حرفهای
- ترکیب با توابع متنی: میتوانید خروجیهای IFS را با CONCAT یا TEXTJOIN ترکیب کنید تا پیامهای پویا تولید کنید.
- کار با تاریخها: IFS برای بازهبندی تاریخ مانند تعیین فصل یا بازههای زمانی مفید است.
- قابلیت عیبیابی: از Evaluate Formula و Trace Precedents در اکسل برای بررسی منطقی شروط استفاده کنید.
مثال عملی ترکیبی با XLOOKUP (جایگزین توصیهشده برای نگاشتها)
=XLOOKUP(A2, lookup_range, return_range, "Not found")اگر میخواهید مقادیر برچسب را براساس یک جدول نگاشت کنید، XLOOKUP سریعتر و نگهداریپذیرتر از IFS است. برای مثال وقتی شرایط بسیار زیادی وجود دارد یا قابل تغییر است، یک جدول مرجع بسازید و XLOOKUP را استفاده کنید.
جمعبندی و بهترین شیوهها
- برای بررسی چند شرط پیوسته و مرتب، IFS خوانا و ساده است.
- همیشه یک حالت پیشفرض (مثلاً TRUE) یا IFERROR اضافه کنید تا از خطا جلوگیری شود.
- برای نگاشتهای طولانی یا دیتای قابل تغییر، از جدول مرجع با XLOOKUP/VLOOKUP استفاده کنید.
- در فرمولهای پیچیده از LET برای بهینهسازی و ایجاد قابلیت خوانایی استفاده کنید.
با رعایت این نکات، استفاده از IFS هم ساده و هم حرفهای خواهد بود و میتواند خوانایی فایلهای اکسل شما را بهطرز چشمگیری افزایش دهد.
آیا این مطلب برای شما مفید بود ؟




