نحوه استفاده از دستورات 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%)

تفکیک فرمول:

  1. =IF(“=” شروع یک فرمول را در سلول نشان می دهد و IF تابع اکسل است که ما از آن استفاده می کنیم.
  2. D2=”USA” - تست منطقی(Logical) که ما انجام می دهیم (یعنی اگر داده های ستون D2 USA هستند ) .
  3.  E2*10% - نتیجه(Result) ای که با فرمول بازگردانده می شود اگر آزمون منطقی اولیه به درستی نتیجه دهد ((TRUE) یعنی مقدار در ستون D2 USA باشد ).
  4. E2*5% - نتیجه(Result) ای که با فرمول برگردانده می شود اگر آزمون منطقی اولیه FALSE باشد (یعنی مقدار در ستون D2 USA(NOT) نیست )(USA) .
  5. )بسته شدن(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%))

تفکیک فرمول:

  1. =IF(شروع(Beginning) فرمول با استفاده از دستور IF
  2. D2=”USA” - اولین(First) آزمایش منطقی که انجام می دهیم (یعنی اگر داده های ستون D2 ایالات متحده آمریکا(USA) باشد ).
  3.  E2*10% - نتیجه(Result) ای که با فرمول بازگردانده می شود اگر آزمون منطقی اولیه به درستی نتیجه دهد ((TRUE) یعنی مقدار در ستون D2 USA باشد ).
  4. 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%.
  5. )بسته شدن(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 را چندین بار، یکی پس از دیگری، مشابه مثال بالا، ترکیب یا لانه کنید.



About the author

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



Related posts