0
09103042505

تابع if ضروری یا اضافی؟!؟!

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

تابع if

در اکسل، خروجی تمامی شرط ها به صورت True یا False می‌باشد ولی اگر بخواهیم متناسب با True یا False بودن شرط، تصمیم های متفاوتی بگیریم از تابع If استفاده خواهیم کرد، این تابع سه ورودی دریافت می‌نماید که به ترتیب، ورودی اول بیانگر شرط مد نظر می‌باشد، ورودی دوم محاسبات مد نظر در صورت صحیح بودن (برقرار بودن) شرط و ورودی سوم محاسبات مد نظر در صورت غلط بودن (عدم برقراری شرط) می‌باشد. که در تصویر زیر حالات مختلف استفاده از این تابع آورده شده است:

capture-2

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

=if(daramad<1000000,0%,10%)

در صورتی که بخواهیم این مثال را بدون استفاده از if حل نماییم، میتوانیم از فرمول زیر استفاده نماییم

=(daramad>1000000)*10%

.در این حالت خروجی قسمت داخل پرانتز هموار True یا False است که در صورت ضرب شدن در یک عدد به یک (برای حالت True) یا صفر (برای حالت False) تبدیل میشود.

 

در مسئله دوم برای محاسبه نرخ مالیات از حالت if تو در تو به صورت زیر استفاده شده است

=IF(daramad<1000000,0%,IF(daramad<2000000,10%,20%))

در حالی که میتوان حالت فوق را به صورت زیر نوشت.

=(daramad>1000000)*(daramad<2000000)*10%+(daramad>2000000)*20%

 

اما مسئله سوم، با دو مسئله دیگر متفاوت بوده، و خروجی به صورت متن می‌باشد، در این مسئله به منظور تعیین قبولی یا مردودی از فرمول ذیل استفاده شده است،

=IF(moadel<10,”Reject”,”Accept”)

در حالتی که در این مسئله میتوان به صورت ذیل از تابع Choose به جای تابع If استفاده نمود.

=choose((moadel<10)*1+(moadel>=10)*2,”Reject”,”Accept”)

 

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