if های تو در تو در اکسل
همه ما با کاربرد های IF آشنا هستیم. حال اگر داده های شما نیاز به آزمون منطقی پیچیده تر و شرط های چندگانه داشته باشند، چه باید کرد؟ در این مطلب به بررسی if های تو در تو در (Nested Ifs) اکسل می پردازیم.
مفهوم if های تو در تو در اکسل
در مطالب قبل به بررسی تابع IF در اکسل پرداختیم. برای تحلیل قدرتمند داده، ممکن است نیاز باشد که شرط های چندگانه ای را به صورت همزمان مورد ارزیابی قرار دهید، به این معنی که با استفاده از آزمون های منطقی پیچیده از چندین تابع IF در یک فرمول استفاده کنید. این if های تو در تو اکسل امکان بررسی چندین شرط را فراهم می کند و سپس بر اساس این بررسی نتیجه را مشخص می سازد.
در واقع if های تو در تو توابع خاصی نیستند و صرفا نوع بکارگیری تابع IF و چگونگی تعیین آرگومان های IF کمی متفاوت است. با این روش، می توانیم چندین حالت رو مقایسه کنیم و به ازای هر حالت یک خروجی داشته باشیم.
منطق تابع IF تو در تو اکسل با چند شرط
برای درک بهتر این موضوع به مثال زیر توجه کنید.
فرض کنید می خواهیم نتیجه پایان نامه کارشناسی ارشد دانشجویان یک دانشگاه را با ارزشیابی کیفی تعیین کنیم. درجه بندی این ارزشیابی به صورت زیر است:
نمرات 18 تا 20 : عالی
نمرات 16 تا 18: بسیار خوب
نمرات 14 تا 16: خوب
نمرات 12 تا 14: قابل قبول
نمرات کمتر از 12: غیر قابل قبول
ابتدا ساختار و آرگومان های فرمول IF را به یاد آورید:
در صورتی که می خواهید آزمون های منطقی پیچیده تری را برای داده های خود ایجاد کنید، می توانید در قسمت های value if true و value if false تابع خود از یک تابع IF دیگر استفاده کنید. این نوع توابع IF را توابع IF تو در تو می گویند و زمانی مناسب است که بخواهید فرمول شما 3 نتیجه یا تعداد بیشتری نتیچه متفاوت را برگرداند.
برای انجام این کار باید مرز مناسبی را برای شرط های فوق تعریف کنیم. مثلا ابتدا سعی می کنیم با یک فرمول، “عالی” ها رو جدا کنیم. بنابراین آرگومان ها را به صورت زیر وارد می کنیم:
تا اینجا توانستیم ارزشیابی کیفی را برای نمرات مساوی و بزرگتر از 18 تعیین کنیم. اکنون برای اضافه کردن شرط بعدی (یعنی برای نمرات بین 16 تا 18، “بسیار خوب” تعیین شود)، کافیست بجای Value_If_False یا همون آرگومان سوم، یک IF دیگر به صورت زیر بنویسیم:
و به همین ترتیب بقیه شروط را به تابع اضافه می کنیم:
اکسل از داخلی ترین تابع محاسبه را شروع می کند. این تابع به اکسل می گوید که logical test تابع اول را بررسی کند، در صورتی که شرط صحیح باشد، مقدار موجود در value if true را برگرداند. در صورتی که شرط تابع اول صحیح نباشد، تابع دوم را بررسی کند و الی آخر.
نتیجه نهایی به صورت زیر مشاهده می شود.
ترتیب شرط ها در if های تو در تو مهم است
تابع if شرط ها را بر اساس ترتیبی که در فرمول آورده می شود بررسی می کند و زمانی که یکی از شرط ها صحیح باشد، شرط بعدی بررسی نمی شود.
برای درک این موضوع از مثال بالا استفاده می کنیم و ترتیب شرط ها را تغییر می دهیم، خواهید دید محاسبات به درستی انجام نخواهند شد. برای درک این موضوع فرمول بالا را به صورت برعکس نوشته ایم:
اکسل شروع به بررسی فرمول بالا می کند و کوچکترین شرط که در ابتدا آورده شده است را بررسی می کند و برای هر عدد بالاتر از 12 واژه “قابل قبول” را نمایش می دهد. و به این ترتیب این تابع شرط های دیگر را بررسی نمی کند.
تصویر زیر نتیجه این فرمول را نشان می دهد:
بنابراین در زمان نوشتن تابع IF تو در تو خود به یاد داشته باشید که ترتیب شرط ها بسیار اهمیت دارد.
نکاتی که باید در مورد IF های تو در تو در اکسل بدانید!
همانطور که مشاهده کردید، استفاده از تابع IF چندگانه کار دشواری نیست. برای بهبود تابع IF تو در تو خود و مصون ماندن از خطاهای احتمالی، چهار نکته ساده زیر را در ذهن داشته باشید:
- در اکسل ۲۰۱۶-۲۰۰۷، می توانید تا ۶۴ شرط را در تابع خود به کار گیرید. در دیگر ورژن های ۲۰۰۳ و ماقبل، می توانید از ۷ تابع استفاده کنید.
- به یاد داشته باشید ترتیب شرط ها در تابع مهم است. در صورتی که شرط اول صحیح باشد، شرط های بعدی مورد بررسی قرار نمی گیرند.
- در صورتی که فرمول شما بیش از ۵ تابع IF تو در تو داشته باشد، از جایگزین های دیگری همچون توابع LOOKUP, VLOOKUP, INDEX/MATCH یا CHOOSE استفاده کنید.
- به تعداد پرانتزهای بسته شده در پایان تابع توجه داشته باشید. وقتی پرانتزها به درستی تکمیل نشده باشد فرمولتان ناقص خواهد بود. زمانی که بیشتر از یک پرانتز داشته باشید، پرانتزها به صورت رنگی کد گذاری می شوند تا پرانتز باز شده با بسته شده به یک رنگ نمایش داده شوند.
درباره آمنه نوروزیان
دانش آموخته علم ژنتیک و بیوتکنولوژی دانشگاه تهران، علاقه مند به زیست محاسباتی و یادگیری مطالب جدید
نوشته های بیشتر از آمنه نوروزیان
سلام. دانش بروز داشته باشید که در نسخه آخر اکسل این داستان خیلی ساده شده. فرمول IFS را بازبینی بفرمایید.
ممنون از پیام تخصصی شما
از آنجایی که مخاطب اصلی ما شرکت ها و سازمان ها هستند و هنوز به اکسل 2019 مجهز نشده اند ما هم زیاد روی IFS مانور نمی دهیم البته IFS هر IF تو در تویی را انجام نمی دهد و یک حالت خاص از IF های تو در تو می باشد.