دستور IF یک تابع منطقی محبوب در اکسل است. دستور SWITCH کمتر شناخته شده است، اما می توانید آن را به جای عبارت IF در برخی سناریوها استفاده کنید. بیایید این توابع و موارد استفاده از آنها را بررسی کنیم.
خلاصه عناوین
- بیانیه IF چیست؟
- بیانیه سوئیچ چیست؟
- بیانیه IF در مقابل سوئیچ: موارد استفاده
نکات کلیدی
- یک دستور IF مقداری را بر اساس ارزیابی TRUE/FALSE برمیگرداند و میتوانید برای ایجاد منطق پیچیده، دستورات IF را در داخل دیگری قرار دهید.
- یک دستور SWITCH یک عبارت را ارزیابی می کند و آن را در برابر چندین مقدار آزمایش می کند تا مطابقت پیدا کند و مقدار مربوطه را برگرداند.
- از عبارت IF برای تست های منطقی پیچیده با عملگرهای مختلف و از دستور SWITCH برای تست های برابری ساده استفاده کنید.
دستور IF یک تابع منطقی محبوب در اکسل است. دستور SWITCH کمتر شناخته شده است، اما می توانید آن را به جای عبارت IF در برخی سناریوها استفاده کنید. بیایید این توابع و موارد استفاده از آنها را بررسی کنیم.
بیانیه IF چیست؟
بیانیه IF در اکسل تابعی است که یک تست منطقی برای تعیین درست یا نادرست بودن شرط مشخص شده انجام می دهد. بر اساس نتیجه ارزیابی مقداری را برمی گرداند و به شما امکان می دهد بر اساس نتایج تصمیم گیری کنید.
بیانیه اساسی IF
بیایید با بررسی دستور اصلی IF قبل از اینکه مشکل آن را بفهمیم – مشکلی که SWITCH سعی در حل آن دارد شروع کنیم.
نحو دستور IF اصلی به صورت زیر است:
IF (logical_test, result_if_true, [result_if_false])
پارامترهای دارای براکت مربع در نحو اختیاری هستند—شما نیازی به تعیین آنها ندارید.
پارامتر logical_test شرطی است که تابع بررسی میکند و result_if_true نتیجهای است که اگر ارزیابی درست باشد، برمیگرداند. پارامتر result_if_false همان چیزی است که اگر نتیجه FALSE باشد، برمیگرداند.
در تصویر زیر، بسته به اینکه مقدار نمرات آزمون در ستون C بزرگتر یا مساوی 50 باشد، میخواهیم Pass یا Fail را برای نمره برگردانیم.
برای شروع فرمول زیر را در سلول C2 می نویسیم:
=IF(C2 >= 50, "Pass", "Fail")
هنگامی که فرمول را در سلول های زیر کپی می کنیم، نمرات هر دانش آموز را خواهیم دید.
بیانیه IF تو در تو
اگر می خواهید چندین شرط را به طور همزمان آزمایش کنید، می توانید دستورات IF را در دیگری قرار دهید.
این دستورات IF تودرتو نامیده می شوند و نحو اصلی آنها عبارت است از:
=IF(logical_test1, result_if_true1, IF(logical_test2, result_if_true2, result_if_false2))
مثال زیر را در نظر بگیرید، جایی که هر رنگ در ستون A (قرمز، زرد یا سبز) باید وضعیت مربوطه را در ستون B داشته باشد (به عنوان مثال، توقف، احتیاط، برو، و ناشناس).
ابتدا فرمول زیر را در B2 برای رنگ در A2 وارد می کنیم:
=IF(A2 = "Red", "Stop", IF(A2 = "Yellow", "Caution", IF(A2 = "Green", "Go", "Unknown")))
از آنجایی که A2 قرمز است، طبق فرمول بالا، Stop را برمیگرداند. هنگامی که آن را در سلول های دیگر کپی می کنیم، هر رنگ باید یک وضعیت داشته باشد.
همانطور که می بینید، منطق می تواند به سرعت گیج شود، هر چه بیشتر عبارات IF را لانه کنید. اینجاست که عبارت SWITCH وارد می شود تا همه چیز را کمی ساده کند.
بیانیه سوئیچ چیست؟
عبارت SWITCH در اکسل یک تابع نسبتا جدید است. این یک عبارت را می گیرد و آن را در برابر چندین نتیجه در قالبی خواناتر و ساختارمندتر در مقایسه با دستورات IF تودرتو آزمایش می کند.
نحو اصلی یک عبارت SWITCH عبارت است از:
SWITCH (expression_to_test, test_value1, result_if_true1, [test_value2, result_if_true2,…], [value_if_no_match])
عبارت_to_test مقداری است که در برابر مقادیر تست (test_value1، test_value2 و غیره) ارزیابی می شود. اگر یکی همسان باشد، نتیجه مربوطه را برمی گرداند. برای مثال، اگر test_value1 با عبارت مطابقت داشته باشد، result_if_true1 را برمیگرداند.
شما می توانید پارامتر value_if_no_match را برای بازگرداندن یک مقدار در صورتی که مطابقت پیدا نشد، مشخص کنید.
از آنجایی که دستور SWITCH می تواند یک IF تودرتو را ساده کند، می توانیم از مثال رنگ ها از if تودرتو استفاده کنیم. در اینجا نسخه SWITCH است:
=SWITCH(A2, "Red", "Stop", "Yellow", "Caution", "Green", "Go", "Unknown")
همانطور که می بینید، فرمول اکنون به عنوان یک دستور SWITCH قابل خواندن است و مانند نسخه IF کار می کند.
بیانیه IF در مقابل سوئیچ: موارد استفاده
هنگامی که با دستور SWITCH مقایسه میشود، دستور IF هنگام انجام تستهای پیچیده منطقی شامل شرایط چندگانه بهترین استفاده را دارد. همچنین زمانی که تست ها از عملگرهای منطقی مختلف در اکسل استفاده می کنند (به عنوان مثال >، <، =، <>، AND و OR) به خوبی کار می کند. به همین دلیل، انعطاف پذیرتر است و می تواند موقعیت های پویا تری را نسبت به دستور SWITCH مدیریت کند.
از سوی دیگر، دستور SWITCH زمانی به خوبی کار میکند که آزمونهای منطقی شامل برابری ساده و مقادیر ثابت باشند، با توجه به اینکه شکل اصلی آن فقط عملگر برابر را ارزیابی میکند. اگر از دستور SWITCH برای تست های پیچیده منطقی استفاده می کنید، تفاوتی با استفاده از دستور IF ندارد.
برای مثال این دستور IF تودرتو پیچیده را در نظر بگیرید:
=IF(A1 >= 90, "Grade A", IF(A1 >= 75, "Grade B", "Grade C"))
می توانید آن را به صورت یک دستور SWITCH مانند شکل زیر بنویسید:
=SWITCH(TRUE, A1 >= 90, "Grade A", A1 >= 75, "Grade B", A1 < 75, "Grade C")
در اینجا، عبارتی که نیاز به تست دارد را روی TRUE قرار داده ایم، که به ما امکان می دهد چندین شرط را با استفاده از عملگرهای بیشتر از برابر آزمایش کنیم. اما اکنون این منطق در مقایسه با یک عبارت SWITCH ساده تر و خوانا به نظر می رسد.
مانند هر تابعی در اکسل، می توانید این توابع را ترکیب کنید. می توانید یک عبارت IF را در یک دستور SWITCH قرار دهید و بالعکس. همچنین می توانید آنها را در توابع دیگر مانند SUM، INDEX، MATCH و XLOOKUP وارد کنید.