نحوه استفاده از دستورات If و Nested If در اکسل
یکی از تابع های اکسل(Excel) که من از آن در فرمول های خود استفاده می کنم تابع IF است. تابع IF برای آزمایش یک شرط منطقی و تولید دو نتیجه متفاوت بسته به اینکه شرط منطقی TRUE یا FALSE را برمی گرداند استفاده می شود.
بیایید به عنوان مثال از جدول فروش تلفن همراه زیر استفاده کنیم. فایل نمونه را می توانید از اینجا دانلود کنید .
تابع IF با حالت تک(IF Function with Single Condition)
سناریویی را در نظر بگیرید که در آن باید هزینه کمیسیون(Commission Fee) را برای هر ردیف فروش محاسبه کنید، بسته به جایی که فروش انجام شده است ( ستون D(Column D) ). اگر فروش در ایالات متحده آمریکا(USA) انجام شده باشد، هزینه کمیسیون(Commission Fee) 10٪ است، در غیر این صورت مکان های باقی مانده دارای حق کمیسیون(Commission Fee) 5٪ خواهند بود.
اولین فرمولی که باید در سلول F2(Cell F2) وارد کنید مطابق شکل زیر است:
=IF(D2="USA", E2*10%, E2*5%)
تفکیک فرمول:
- =IF( – “=” شروع یک فرمول را در سلول نشان می دهد و IF تابع اکسل است که ما از آن استفاده می کنیم.
- D2=”USA” - تست منطقی(Logical) که ما انجام می دهیم (یعنی اگر داده های ستون D2 USA هستند ) .
- E2*10% - نتیجه(Result) ای که با فرمول بازگردانده می شود اگر آزمون منطقی اولیه به درستی نتیجه دهد ((TRUE) یعنی مقدار در ستون D2 USA باشد ).
- E2*5% - نتیجه(Result) ای که با فرمول برگردانده می شود اگر آزمون منطقی اولیه FALSE باشد (یعنی مقدار در ستون D2 USA(NOT) نیست )(USA) .
- ) – بسته شدن(Closing) براکت نشان دهنده پایان فرمول است.
سپس میتوانید فرمول را از سلول F2(Cell F2) به بقیه ردیفهای ستون F(Column F) کپی کنید و کارمزد کمیسیون(Commission Fee) برای هر خط را 10 درصد یا 5 درصد محاسبه میکند که بستگی به این دارد که آیا آزمون منطقی IF در هر خط (IF)TRUE یا FALSE را برمیگرداند. ردیف
تابع IF با شرایط چندگانه(IF Function with Multiple Conditions)
چه میشود اگر قوانین کمی پیچیدهتر بودند، در جایی که باید بیش از یک شرط منطقی را با نتایج متفاوتی برای هر شرط آزمایش کنید؟
اکسل(Excel) برای این جواب دارد! ما میتوانیم چندین تابع IF را در یک سلول ترکیب کنیم، که گاهی اوقات به عنوان IF تودرتو(Nested IF) شناخته میشود .
سناریوی مشابهی را در نظر بگیرید که در آن کمیسیون(Commissions) ها برای هر مکان فروش(Sales Location) متفاوت است به شرح زیر:
- آمریکا(USA) 10%
- استرالیا(Australia) 5%
- سنگاپور(Singapore) 2%
در سلول F2(Cell F2) (که بعداً در بقیه ردیف های همان ستون F کپی می شود)، فرمول زیر را وارد کنید:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
تفکیک فرمول:
- =IF( – شروع(Beginning) فرمول با استفاده از دستور IF
- D2=”USA” - اولین(First) آزمایش منطقی که انجام می دهیم (یعنی اگر داده های ستون D2 ایالات متحده آمریکا(USA) باشد ).
- E2*10% - نتیجه(Result) ای که با فرمول بازگردانده می شود اگر آزمون منطقی اولیه به درستی نتیجه دهد ((TRUE) یعنی مقدار در ستون D2 USA باشد ).
- IF(D2=”Australia”,E2*5%,E2*2%) – دومین عبارت Excel IF که در صورتی که تست منطقی اولیه به FALSE منتهی شود، ارزیابی خواهد شد (یعنی مقدار در ستون D2 USA نیست(NOT) ). این یک نحو مشابه از " عملکرد IF با حالت واحد"(IF Function with Single Condition”) است که قبلا در این مقاله مورد بحث قرار گرفت، جایی که اگر مقدار سلول (Cell)D2 استرالیا(Australia) باشد ، نتیجه E2*5% برگردانده خواهد شد. در غیر این صورت، اگر مقدار استرالیا(Australia) نباشد ، تابع نتیجه E2*2%.
- ) – بسته شدن(Closing) براکت نشان دهنده پایان فرمول برای اولین تابع IF است.
از آنجایی که اکسل(Excel) فرمول را از چپ به راست ارزیابی می کند، هنگامی که یک تست منطقی انجام می شود (به عنوان مثال D2=“USA”, تابع متوقف می شود و نتیجه را برمی گرداند، بدون توجه به هر آزمایش منطقی بعدی پس از آن (به عنوان مثال D2=“Australia” . )
بنابراین اگر تست منطقی اول FALSE را برگرداند (یعنی مکان ایالات متحده آمریکا(USA) نیست )، به ارزیابی تست منطقی دوم ادامه خواهد داد. اگر تست منطقی دوم FALSE را نیز برگرداند (یعنی مکان استرالیا(Australia) نیست )، نیازی به آزمایش بیشتر نداریم زیرا می دانیم که تنها مقدار ممکن در سلول D2 (Cell D2)سنگاپور(Singapore) است، بنابراین باید نتیجه E2*2% را برگرداند .
اگر برای وضوح ترجیح می دهید، می توانید سومین آزمون منطقی IF(D2=”Singapore”, “value if TRUE” , “value if FALSE”) اضافه کنید. بنابراین، فرمول کامل توسعه یافته به شکل زیر است:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
همانطور که قبلاً ذکر شد، موارد فوق همان نتیجه فرمول اولیه را که ما داشتیم را برمی گرداند.
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
راهنمایی سریع(Quick Tips)
- برای هر تابع IF ( ، باید یک براکت باز و بسته کننده وجود داشته باشد. وقتی سه تابع IF مطابق یکی از مثالهای بالا وجود دارد، فرمول به سه براکت بسته نیاز دارد ")))" ، که هر کدام انتهای آن را مشخص میکند. یک عبارت IF ( .
- اگر نتیجه دوم تست منطقی را مشخص نکنیم (زمانی که تست منطقی منجر به FALSE شد )، مقدار پیش فرض اختصاص داده شده توسط اکسل(Excel) متن "FALSE" خواهد بود. (“FALSE”.)بنابراین فرمول =IF(D2=”USA”,E2*10%) متن “FALSE” را برمی گرداند اگر D2 “USA” نباشد .
- اگر چندین تست منطقی مختلف دارید که هر کدام نتایج متفاوتی دارند، میتوانید تابع IF را چندین بار، یکی پس از دیگری، مشابه مثال بالا، ترکیب یا لانه کنید.
Related posts
نحوه حذف خطوط خالی در اکسل
نحوه استفاده از ویژگی Speak Cells اکسل
نحوه درج کاربرگ اکسل در Word Doc
نحوه استفاده از تجزیه و تحلیل What-If اکسل
نحوه تعمیر یک ردیف در اکسل
نحوه مرتب سازی بر اساس تاریخ در اکسل
راهنمای VBA پیشرفته برای MS Excel
نحوه درج CSV یا TSV در کاربرگ اکسل
نحوه حروف الفبا در اکسل
سطرها و ستون ها را در یک کاربرگ اکسل گروه بندی کنید
نحوه حذف ردیف های تکراری در اکسل
زمان استفاده از Index-Match به جای VLOOKUP در اکسل
نحوه ردیابی وابستگان در اکسل
تفاوت بین Microsoft Excel Online و Excel For Desktop
نحوه باز کردن Word و Excel در حالت ایمن
نحوه استفاده از تابع PMT در اکسل
داده های کاربرگ خود را برای چاپ در اکسل مرکز کنید
چگونه یک فایل اکسل را برای همکاری آسان به اشتراک بگذاریم
2 روش برای استفاده از تابع Transpose اکسل
از نام های محدوده پویا در اکسل برای کشویی های انعطاف پذیر استفاده کنید