صفر تا صد آموزش تابع IF در اکسل با 4 مثال کاربردی


تابع IF
اگر دقت کنید ما در همه جنبه های زندگی نیاز به انتخاب بین دو یا چند چیز داریم و این انتخاب معمولا وابسته به اگرهایی هست که آن را تحت تأثیر قرار می دهد.
لذا از این جهت اگرهای زیادی در زندگی وجود دارد که نتیجه آن منجر به انتخاب بین دو یا چند چیز می شود، معادل این موضوع در تحلیل داده ها نیز وجود دارد و اکسل به عنوان یک ابزار تحلیل داده این اگرها را با تابع IF در اکسل برای ما پیاده می کند.
گاهی شرط های ما بسیار ساده هستند و گاهی شرط ها چندین جنبه را بررسی می کنند .
به عنوان مثال یک شرط ساده در نمره دانش آموزان وجود دارد که اگر نمره بزرگتر یا مساوی 10 باشد معادل قبولی است و در غیر این صورت مردود تلقی می شود.
دقت کنید که در خصوص اهمیت تابع IF همین بس که در اکثر نرم افزارها و تمامی زبان های برنامه نویسی این تابع با ساختار تقریبا مشابه وجود دارد و در نتیجه یادگیری آن بسیار حائز اهمیت است.
فهرست مطالب
نحوه نوشتن توابع:
برای نوشتن هر تابعی دو حالت وجود دارد که هرکدام مزایا و معایبی دارد:
حالت اول : استفاده از پنجره Function Arguments
از سه طریق می توانید این پنجره را باز کنید.
a. روی گزینه fx کنار فرمولا بار کلیک کنید.
b. بعد از وارد کردن علامت = و نوشتن تابع مورد نظر و باز کردن پرانتز Shift+F3 را بزنید.
c. بعد از وارد کردن علامت = و نوشتن تابع مورد نظر و باز کردن پرانتز Ctrl+A را بزنید.


مزایا
– برای افراد مبتدی استفاده از این پنجره جهت فرمول نویسی کار را راحت تر می کند چرا که نیازی نیست جداکننده بین هر آرگومان را تایپ کنند و یا اینکه اگر در یکی از قسمت ها متنی وارد کردند بطور خودکار داخل دبل کوتیشن قرار می گیرد.
– روی هر آرگومان که قرار می گیرید توضیحات لازم در پایین این پنجره نمایش داده می شود و همینطور محدودیت ها و مقدار پیش فرض را در توضیحات مربوطه نمایش می دهد.
– نتیجه هر قسمت را جلوی آن می توان دید و همینطور نتیجه کل فرمول نیز در این پنجره نمایان می شود.
– در پایین پنجره با زدن گزینه Help on this function می توانید مقاله مربوط به تابع مورد نظر را در سایت مایکروسافت ملاحظه کنید.
معایب
– در مواقعی که قصد نوشتن فرمولهای ترکیبی داریم بیشتر ازین که کار ما را ساده تر کند دست و پا گیر است و گاهی فهم فرمول را سخت تر می کند.
– سرعت نوشتن فرمول از طریق این پنجره کمتر از حالتی است که فرمول را مستقیما وارد می کنیم.
– استفاده از صفحه کلید برای انتخاب محدوده مورد نظر را سخت تر می کند.
حالت دوم : نوشتن فرمول بدون باز کردن پنجره Function Arguments
مستقیما فرمول را درون سلول وارد می کنید.


مزایا
– سرعت نوشتن فرمول زیادتر است و براحتی می توانید با صفحه کلید محدوده مورد نظر را انتخاب کنید.
– درک فرمول ها راحت تر است و از این جهت که می توان فرمول را در چند خط نوشت فرمول بیشتر قابل درک است.
– اگر روی نام تابع در کادر نمایش داده شده زیر آن کلیک کنید توضیحات سایت مایکروسافت در سمت راست صفحه اکسل نمایش داده می شود و در صورت وجود فیلم آموزشی، آن را نیز خواهید دید.
معایب
– مقدار پیش فرض هر آرگومان و توضیحات هر قسمت را نمی توانید ببینید.
– نتیجه هر آرگومان و نتیجه کل فرمول را نمی توانید ببینید مگر اینکه هر قسمت را انتخاب کنید و کلید F9 را بزنید.
– برای وارد کردن متن درون فرمول خودتان باید علامت دبل کوتیشن ” را وارد کنید.
نکته : به طور کلی پیشنهاد میشود که در مراحل اولیه که تسلط کافی روی فرمول ندارید از پنجره Function Arguments راهنمایی بگیرید ولی به مرور عادت کنید فرمول ها را بدون استفاده از این پنجره بنویسید تا در نوشتن فرمول های ترکیبی آزادی عمل و سرعت عمل بیشتری داشته باشید.
نوشتن تابع IF
یکی از توابع و فرمول های پر کاربرد اکسل تابع IF میباشد که بیایید به ساختار ساده این تابع در اکسل نگاهی بیندازیم و با قسمت های مختلف آن در حالت ساده آشنا شویم.


IF(logical_test,[value_if_true],[value_if_false])
logical_test: در این قسمت شرط مورد نظر ما قرار می گیرد که می تواند یک مقدار ثابت یا یک مقایسه یا یک یا چند فرمول ترکیبی باشد ولی عموما یک مقایسه هست و در نتیجه از عملگرهای مقایسه (مانند = ، > ، < ، => ، =< ، <>) استفاده می شود.
دقت کنید که خروجی هر شرط/مقایسه در اکسل در صورتی که برقرار باشد مساوی True خواهد بود و در صورت برقرار نبودن شرط/مقایسه خروجی آن False می شود.
نکته برای حرفه ای ها: از آنجایی که عبارت False در اکسل مساوی عدد صفر است اگر در این قسمت شرطی را بنویسیم که خروجی آن عدد صفر باشد در نتیجه مانند آن است که شرط برقرار نیست یعنی اگر فرمولی بنویسیم که عددی بجز عدد صفر را خروجی بدهد(همه اعداد منفی و مثبت) معادل برقرار بودن شرط است.
value_if_true: اکسل پس از بررسی شرط ما در قسمت قبل، در صورت برقرار بودن شرط این قسمت را اجرا خواهد کرد و در این قسمت میتوانیم یک متن یا عدد یا فرمول دلخواه را قرار دهیم.
به عنوان مثال اگر فرض کنیم مقایسه/شرط ما در قسمت قبل، خروجی True یا هر عددی بجز عدد صفر بوده است، هر داده ای که در این قسمت قرار می دهیم نمایش داده خواهد شد و دیگر اکسل به قسمت بعد نمیرود و هر داده ای که در قسمت بعد قرار بگیرد بررسی نخواهد شد.
value_if_false: این قسمت فقط در صورتی که شرط ما برقرار نباشد بررسی خواهد شد و مانند قسمت قبل می تواند عدد، متن یا یک فرمول باشد.
مثال اول :


IF( True , “Yes”)=
تعجب کردید؟ بله این فرمول درست است و نتیجه کلمه Yes می شود!
خب الان احتمالا چندین سوال در ذهن شما شکل می گیرد.
چرا قسمت اول هیچ شرطی ننوشتید؟
چون فرقی ندارد که عبارت True نتیجه یک مقایسه باشد یا خودتان آن را بنویسید و همینطور با توجه به نکته حرفه ای که گفته بودیم فرمول های زیر هم نتیجه یکسانی با فرمول فوق خواهد داشت (اعداد غیر صفر معادل True است(:
IF(1,”Yes”)=
IF(-1,”Yes”)=
چرا قسمت قسمت دوم کلمه Yes داخل علامت دبل کوتیشن ” وارد شده است؟ بطور کلی در اکسل در هر تابعی اگر بخواهید عبارت متنی بنویسید باید حتما داخل علامت دبل کوتیشن قرار بگیرد.
چرا قسمت سوم فرمول را وارد نکردید؟ همانطور که در آرگومان های تابع مشاهده کردید قسمت دوم و سوم داخل علامت براکت قرار گرفته است و در توابع اکسل این به معنی اختیاری بودن آن آرگومان است و در نتیجه چون اختیاری بود یعنی اکسل مقدار پیش فرض برای آن دارد و مقدار پیش فرض عبارت False هست.




اگر در فرمول فوق، شرط ما برقرار نبود یا قسمت اول را عبارت FALSE یا عدد صفر وارد می کردیم نتیجه فرمول چی می شد؟ از آنجایی که پیش فرض آرگومان سوم عبارت FALSE است در نتیجه اگر شرط ما برقرار نباشد چون قسمت آخر را وارد نکردیم همان عبارت پیش فرض یعنی کلمه FALSE نمایش داده می شود.
IF(False,”Yes”)=
IF(0, “Yes”)=


IF(1 , ,”No”)=
بله همانطور که در قسمت قبل دیدیم قسمت آخر فرمول اختیاری بود با توجه به اینکه قسمت دوم هم داخل براکت بوده این قسمت را هم میتوانیم خالی بگذاریم
و چون عدد 1 در قسمت شرط معادل True هست و باید سیستم قسمت دوم را نمایش دهد چون مقداری وارد نکردیم طبق توضیحات قبلی که برگرفته از سایت مایکروسافت می باشد اصولا باید عبارت پیش فرض آن یعنی TRUE را نمایش دهد، اما اگر این فرمول را بنویسید می بینید که نتیجه آن مساوی عدد صفر می شود!
این بار دوباره یک چرا مطرح می شود که خود حاوی یک نکته مهم است.
چرا نتیجه فرمول عبارت TRUE نشد؟ چون یک منطقی در فرمول نویسی اکسل وجود دارد که اگر جایگاه آرگومانی را داشته باشیم ولی چیزی در آن قسمت وارد نکنیم انگار عدد صفر را وارد کرده ایم.
پس با توضیح فوق به این فکر کنید که جواب فرمول زیر چه می شود؟
( , )IF=
بله اگر توضیحات را با دقت خوانده باشید شما هم با من هم نظر هستید که جواب فرمول فوق عبارت FALSE می شود.
چرا؟ چون قسمت جایگاه شرط خالی گذاشته شده پس صفر در نظر گرفته می شود و از آنجایی که صفر معادل False بود قسمت سوم تابع باید اجرا شود که ما چون قسمت سوم را بطور کلی وارد نکرده ایم مقدار پیش فرض آن یعنی عبارت FALSE نمایش داده خواهد شد.


بطور خلاصه تا اینجا نکات زیر را یاد گرفتید:
– قسمت دوم و سوم تابع IF اختیاری است اما بطور همزمان نمیتوانید هر دو را وارد نکنید.
– در فرمول های اکسل عدد صفر معادل False و هر عددی بجز صفر معادل True است.
– اگر آرگومانی را وارد نکنیم ولی جایگاه آن را نگه داریم (یعنی جداکننده ای که برای رسیدن به آن آرگومان لازم است، را وارد کنیم) اکسل آن قسمت را، عدد صفر در نظر خواهد گرفت یعنی دو فرمول زیر از نظر اکسل یکسان است.
( , , )IF=
IF(0,0,0)=
خب حالا با درک عمیقی که از قسمت های مختلف این تابع دارید برایتان مثالهای بیشتری فراهم کردیم.




مثال دوم:
فرض کنید میخواهید فرمولی بنویسید که اگر در سلول A1 هر نمره ای وارد شد در سلول B1 مشخص کند که نمره قبولی است یا مردود.


IF(A1>=10=
“قبول”,
“مردود”)
چرا و چطور در سه خط نوشته شد؟
یکی از روشهایی که باعث میشه خیلی راحت تر قسمت های فرمول را درک کنید این است که در خطوط مجزا قرار دهید کافیه آرگومان اول را که نوشتید و جداکننده را وارد کردید با زدن کلید Alt+Enter به خط بعد بروید و بعد با زدن چندبار اسپیس قسمت قسمت دوم فرمول را وارد کنید و همین کار را برای خط بعد انجام دهید.
نکته: اسپیس اضافه بین هر آرگومان، تغییری در فرمول ایجاد نمی کند.
مثال سوم :
یک مثال کاربردی که در خصوص تابع IF می توان گفت در خصوص مقایسه مبلغ بودجه شده و مبلغ واقعی هست که در ادامه فرمولی نوشتیم که در صورتی که مبلغ واقعی بیشتر از مبلغ بودجه شده بود عبارت Over Budget نوشته شود و در غیر اینصورت عبارت Within Budget ظاهر شود.
IF(C2>B2=
” Over Budget”,
” Within Budget”)


مثال چهارم :
در ادامه مثال قبل با کمک تابع IF می توان مبلغی که بیشتر از مبلغ بودجه شده بوده را جداگانه بدست آورد.
IF(C2>B2,C2-B2,0)=


بر اساس شکل, اگر C2 بزرگتر از B2 باشد, اکسل باید هر دو سلول را از هم تفریق کند, در غیر این صورت باید داده عددی صفر (0) را قرار دهد.
نکته: قسمت سوم تابع یعنی عدد 0 را می توانید وارد نکنید و با توجه به توضیحات قبلی اگر فرمول را به صورت زیر بنویسید جواب یکسانی دریافت خواهید کرد.
IF(C2>B2=
(,C2-B2
همانطور که در مثال های بالا مشاهده کردید, تابع IF بوسیله در قسمت اول شرط را با استفاده از عملگرهای مقایسه ای ایجاد کرد.
انواع عملگرهای مقایسه ای:


بطور کلی هرجا قصد تصمیم گیری بین دو یا چند مورد با در نظر گرفتن شرط یا شرط های مورد نظر را دارید احتمالا تابع IF راهکار مناسبی باشد که البته اگر تعداد شرط ها بیشتر از چند مورد شد باید دقت کنید که گاهی ممکن است با توابع دیگری سریع تر به نتیجه یکسان برسید.
درباره محمود بنی اسدی (مدیر سایت)
فارغ التحصیل کارشناسی ارشد حسابداری، ده سال سابقه تدریس اکسل در سطوح مختلف از قبیل فرمول نویسی، ابزارهای هوش تجاری، ترفندها و ... ، نویسنده شش مقاله در سطح ملی و ISI
نوشته های بیشتر از محمود بنی اسدی (مدیر سایت)8 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
واقعا آموزش هاتون نظیر نداره، اینکه بدونیم چه نکته هایی داخل یه تابع که ما همیشه ازش براحتی استفاده و عبور میکنیم هست و چقدر میتونه کاربردی باشه و کار رو راحت کنه و در عین حال برای افرادی که نمیخوایم از کارمون سر دربیارن 😎 واقعا مفید و عالیه
بخش آرگومان ها و اینکه چه جایگزین هایی میتونه داشته باشه عالی بود
خدا قوت
ممنون از نظر موشکافانه و مفصل شما.
عالی بود جناب بنی اسدی
ممنونم.
استاد فوق العاده صریح و عالی راجع به تابع if توضیح دادید و نکات و مثال کاربردی که برای این تابع پرکارد در اکسل همراهش زدید عالی تر تشکر از شما
ممنون از شما که مقاله رو بطور کامل مطالعه کردید
سلام استاد گرامي بسيار عالي بود
ممنون از شما