آموزش استفاده از دستور IF در مایکروسافت اکسل

آموزش استفاده از دستور IF در مایکروسافت اکسل

همه افراد فعال در حوزه برنامه نویسی با کاربردهای دستور IF در کدها آشنایی دارند اما کمتر کسی از کاربرد این شرط منطقی در سلول های اکسل آگاهی دارد.
تعریف ساده دستور IF این است که بر اساس نتیجه چندین ورودی محتمل، یک دستور مشخص اجرا می شود. این دستور به شما اجازه می دهد بر اساس خروجی دیگر سلول ها محاسبات متنوعی را انجام داده، خروجی نهایی را با توجه به رشته های ورودی تنظیم کرده یا فرمت های شرطی را اجرا کنید.
دستور IF ممکن است کمی پیچیده به نظر برسد اما جای نگرانی نیست چرا که در ادامه با مثال هایی ساده روش های استفاده از آن را شرح می دهیم.



دستور IF در اکسل

از انجایی که دستور IF بیشتردر برنامه نویسی کاربرد دارد ممکن است این شرط منطقی را در اکسل هم مثل زبان هایی از قبیل ویژوال بیسیک در نظر بگیرید اما می توانید مستقیما در سلول های اکسل از آن استفاده کنید.





با تایپ عبارت “=IF(” در سلول، کادری ظاهر شده و ساختار این دستور را نشان می دهد. تنها عبارت لازم در این دستور، شرط منطقی است چرا که خروجی به صورت پیش فرض روی درست یا غلط تنظیم می شود، با این حال با اضافه کردن پارامترهای دیگر در تابع می توانید آن را سفارشی سازی کنید.



عملکرد دستورات پایه‌ای IF

اجازه دهید ابتدا نگاهی به شکل پایه ای این دستور داشته باشیم. در مثال بالا چهار ستون تعویض روغن، تعمیر ماشین، ثبت و تجدید بیمه طراحی شده اند که در سول های آنها تاریخ انجام هریک با گزینه بله و خیر ثبت می شود.
برای مثال ما می خواهیم اگر سلول مربوط به تعمیر شامل عبارت بله باشد، ستون نوع رویداد به تعمیر، و در غیر این صورت به تعمیر نشده تغییر کند. منطق این دستور بسیار ساده است:

=IF(C2="YES","Repair","Non-Repair")

پر کردن تمام ستون با این فرمول به نتیجه زیر منجرمی شود:





این دستور کارامد است اما در این زمینه خاص چندان منطقی به نظر نمی رسد چرا که بدون نیاز به این دستور و از روی ستون تعمیر شده نیز میتوان به نتیجه مشابهی دست پیدا کرد. بنابرین در ادامه برای بهینه سازی آن از دستورات پیشرفته تری استفاده می کنیم.



دستورات IF و AND

در این بخش نیز مثل زبان های برنامه نویسی برای تصمیم گیری بر اساس نتایج چند شرط، از دستور IF و AND استفاده می کنیم.
بدین منظور دو نوع رویداد جدید را تحت عنوان برنامه ریزی شده و برنامه ریزی نشده تعریف می کنیم.
فرض کنیم که معمولا تعویض روغن را روز دوم ماه انجام می دهیم، بنابرین هر تعویض روغنی که روز دوم ماه صورت نگرفته، برنامه ریزی نشده محسوب می شود. برای تعریف این مساله باید از عبارت AND به شکل زیر استفاده کنیم:

=IF(AND(DAY(A2)=2,B2="YES"),"Planned","Unplanned")

نتیجه باید به شکل زیر باشد:





نتیجه کار کمی بهتر شد اما اگر دقت کنید این کد کمی مشکل دارد چرا که اگر سلول های ستون تعویض روغن خالی باشند بدین معنی است که اصولا تعویض روغن انجام نشده و بنابرین باید سطر نوع رویداد نیز خالی بماند اما کد بالا، سلول های خالی را به عنوان بله در نظر می گیرد. برای رفع این مشکل به دستور IF تو در تو نیاز داریم.



دستور IF تو در تو

برای تشخیص خالی بودن یک سلول باید کد بالا را به شکل زیر اصلاح کنیم:

=IF(ISBLANK(B2),"",IF(AND(DAY(A2)=2,B2="YES"),"Planned","Unplanned"))

شاید این کد کمی پیچیده به نظر برسد اما با کمی دقت به سادگی آن پی می برید؛ IF اول خالی بودن سلول در ستون B را بررسی کرده و نتیجه را برمی گرداند.
اگر سلول خالی نباشد کد بخش قبلی اجرا می شود و در غیر این صورت سلول خالی می ماند. بدین ترتیب شما مجبور به وارد کردن عبارت خیر در ستون مربوط به تعویض روغن نیستید و تنها کافی است در تاریخ های صورت گرفته عبارت بله را وارد کنید.





برای جلوگیری از پیچیده شدن شرط های تو در تو باید در هر باراستفاده ازآن، تنها یک گام بردارید. پیش از شروع استفاده از آن نیز از درستی شرط دستور IF اطمینان حاصل کنید چرا که پس از طراحی چندین دستور تو در تو خطایابی آنها به یک کابوس تبدیل می شود.



دستور OR

اکنون می خواهیم یک گام فراتر گذاشته و کد را به گونه ای بنویسیم که اگر تعویض روغن یا تعمیر در کنار ثبت یا بیمه به صورت همزمان اجرا شده اند عبارت نگهداری سالیانه و اگر تنها تعویض روغن انجام شده عبارت نگهداری روزانه برگردانده شود. این شرط پیچیده به نظر می رسد اما با استفاده صحیح از دستور IF پیاده سازی آن دشوار نخواهد بود.
عبارت های مورد نیاز در این بخش ترکیب دستور IF تو در تو و دو دستورOR است:

=IF(OR(B2="YES",C2="YES"),IF(OR(D2="YES",E2="YES"),"Yearly Maintenance","Routine Maintenance"),"")

نتیجه کار باید به شکل زیر باشد:





عبارت درج شده در سلول ها تجزیه و تحلیل های نسبتا پیچیده هستند اما به صورت خودکار و با ترکیب چند شرط در قالب یک دستور IF تو در تو محاسبه شده اند.



نتایج وابسته به مقدار سلول

معمولا تعیین یک عبارت خاص برای محدوده مشخصی از مقادیر سلول ها بسیار مفید است. برای مثال تعیین دمای صفر تا 50 درجه فارنهایت به عنوان سرد، 50 تا 80 به عنوان گرم و مقادیر بالاتر از 80 به عنوان داغ، دسته بندی آنها را تسهیل می کند.
این قابلیت در دسته بندی نمرات برای معلمان نیز کارایی بالایی دارد. در مثال زیر نحوه تبدیل نمرات را بر اساس مقدار آنها به عبارت متنی بررسی می کنیم.





فرض کنیم یک معلم برای تعیین معادل حرفی یک نمره از مقیاس زیر استفاده می کند:
• 90 تا 100 معادل A
• 80 تا 90 معادل B
• 70 تا 80 معادل C
• 60 تا 70معادل D
• زیر60 معادل F
دستور IF تودرتو برای تبدیل این مقیاس به شکل زیر خواهد بود:

=IF(B2>89,"A",IF(B2>79,"B",IF(B2>69,"C",IF(B2>59,"D","F"))))

در این کد هر یک از دستورهای تودرتو تعیین کننده یک محدوده عددی است. در صورتی که هر یک از اعداد به شکل نادرست وارد شوند، کد به شکل صحیح عمل نخواهد کرد. نتیجه نهایی باید به شکل زیر باشد:





همانطور که می بینید این کد به شما اجازه می دهد اعداد را در قالب حروف توصیفی نمایش دهید. علاوه براین در صورت تغییر هر یک از اعداد، ستون مربوطه به صورت خودکار به روزرسانی خواهد شد.



دستور کارآمد IF-THEN

به عنوان یک برنامه نویس با کارایی دستور IF آشنایی دارید ومی دانید که امکان تجزیه و تحلیل خودکار را در محاسبات فراهم می کنند. این دستور در زبان توصیفی کارایی بالایی دارد و همانطور که در این راهنما نشان دادیم امکانات مشابهی را در اکسل هم ارائه می کند.
با کمی خلاقیت بیشتر می توانید کارهای فوق العاده ای را با دستور IF و دیگر فرمول ها در اکسل صورت دهید.


می توانید از طریق دکمه زیر، مقاله را با دوستانتان در تلگرام به اشتراک بگذارید




منبع: 
How to Use IF Statements in Microsoft Excel
تاریخ درج: 1396/11/30
دانلود مقاله