طبعاً با ترکیب کردن چند IF تو در تو میتوانید فرمولی طولانی برای این مسأله ساده بنویسید. برای اطلاعات بیشتر به مقالهی زیر توجه فرمایید:
استفاده از تابع Switch برای این مثال، فرمول نویسی اکسل را ساده و کوتاه میکند. نمره یا سطح دانشآموز که سه حالت A و B و C است، آرگومان اول خواهد بود. آرگومانهای بعدی به صورت جفتجفت تعریف میشود.
به عنوان مثال برای حالتی که نمره A باشد، عبارت Automatically advance to next level به معنی ادامه خودکار پیشروی به سطح بعدی آموزش چاپ میشود و برای سطح B، ادامه آموزش در سطح فعلی یا Continue at this level چاپ میشود. برای سطح C نیز عبارت Move down to previous level به معنی کاهش سطح آموزش چاپ میشود.
اگر مقادیر عددی نیست و قصد مقایسه کردن دارید، توجه کنید که عبارتهای متنی را بین ۲ دابلکوتیشن یا "" قرار دهید.
لذا فرمول کلی به این صورت خواهد بود:
=SWITCH(b2,"A","Automatically advance to next level","B","Continue at this level","C","Move down to previous level")
برای جلوگیری از نمایش ارور، میتوان آرگومان آخر را نیز وارد کرد. عبارت GRADE REQUIRED به معنی وارد کردن نمره لازم است را به عنوان آرگومان آخر وارد میکنیم تا اگر نمره دانشآموزی وارد نشده بود، در ستون C عبارت GRADE REQUIRED
=SWITCH(b2,"A","Automatically advance to next level","B","Continue at this level","C","Move down to previous level",GRADE REQUIRED)
پس از وارد کردن این فرمول در سلول C2 و زدن کلید Enter، میتوانید سلول C2 را با درگ کردن مربع کوچک پایین و راست سلول به سمت پایین، در سلولهای بعدی کپی کنید تا همین فرمول برای سایر ردیفها تکرار شود و نتیجه ظاهر شود. حاصل کار به این صورت خواهد شد:
استفاده از IFS به جای Switch
بیشتر اوقات استفاده کردن از IFS به جای Switch نسبتاً ساده است اما به هر حال بخش مقایسه کردن، تکراری میشود. مثالی که بررسی کردیم را در نظر بگیرید، اگر بخواهید همین فرمول را به کمک تابع IFS اکسل بنویسید، فرمول به صورت زیر خواهد بود:
=IFS(B2="A","Automatically advance to next level",B2="B","Continue at this level",B2="C","Move down to previous level")
همانطور که مشاهده میکنید در فرمول فوق عبارت B2= چند بار تکرار شده است در حالی که با استفاده از تابع سوییچ، نیازی به تکرار کردن این عبارت نیست. لذا استفاده از سوییچ کمی سادهتر از کار با تابع IFS در اکسل است.
به همین ترتیب اگر بخواهید به جای IFS یا Switch از IF استفاده کنید، باید چند مرتبه نام تابع IF را تایپ کنید و به دقت پرانتزها را باز و بسته کنید و در نهایت فرمول پیچیده و طولانی میشود و شاید حین نوشتن فرمول، اشتباهات سهوی زیادی رخ بدهد.
تابع دیگری که برای مقایسه و چاپ نتیجه مناسب است، XLOOKUP است که در این تابع لیست مقادیر در یک جدول مجزا قرار دارد در حالی که تابع Switch لیست مقادیر را در یک فرمول جمع میکند.
اشکال تابع Switch نسبت به IFS
نقطه ضعف تابع Switch در نوشتن شرط است. به عنوان مثال اگر بخواهید اعداد را مقایسه کنید و در صورت بزرگتر یا کوچکتر بودن، نتیجهی مربوطه چاپ شود، تابع IFS مناسب است چرا که نمیتوانید در تابع Switch از علامت < یا > استفاده کنید. تابع سوییچ فقط برای نوشتن شرط از نوع مساوی کاربرد دارد که معادل تایپ کردن علامت = حین کار با تابع IFS است. لذا تابع IFS کاربرد جامعتری نسبت به Switch دارد.
mfسیارهی آیتی