سلام دوستان عزیز وقتتون بخیر؛ آرزوی اوقات خوشی رو براتون داریم 🙂 در این جلسه از سری آموزش های پویش پایدار در خدمتتون هستیم برای آموزش تابع if در اکسل و مثال آن.

null

آموزش پیشرفته تر

null

آموزش مقدماتی

null

زمان ویدیو

5:50 دقیقه

مدرس دوره: سهیل فتحی

مدرس دوره

سهیل فتحی

null

زمان ویدیو

5:50 دقیقه

مدرس دوره: سهیل فتحی

مدرس دوره

سهیل فتحی

null

آموزش پیشرفته تر

null

آموزش مقدماتی

تابع if در اکسل – مثال فرمول نویسی با تابع if در اکسل

 

تابع if در اکسل

تابع if در اکسل

هر کسی که کمی با نرم افزار اکسل کار کرده و در حد ابتدایی با اون آشنا باشه، قطعا نام تابع if به گوشش خورده. این تابع هم به تنهایی و هم در ترکیب با توابع دیگر بسیار فوق العاده عمل میکنه و در اکثر مسائل اکسل قدرت خود را نمایش میده.

تابع if زمانی کاربرد داره که در مسأله ما چند حالت یا چند شرط وجود داشته باشه. مثلا ما میگیم اگر کارمند شرکت بیشتر از 8 ساعت کار کنه بهش اضافه کاری تعلق میگیره و اگر کمتر از 8 ساعت کار کنه خبری از اضافه کاری نیست. پس در این مسأله دو حالت وجود داره. 1) میزان کارکرد کارمند بیشتر از 8 ساعت باشه 2) میزان کارکرد کارمند کمتر از 8 ساعت باشه. در چنین مسأله ای از تابع if در اکسل استفاده میشه.

ساختار تابع IF در اکسل

تابع if در اکسل در تب formula در دسته توابع logical قرار گرفته است. ساختار تابع if به صورت زیر بوده و شامل سه آرگومان هست:

(IF(logical_test , value_if_true , value_if_false

  • اولین آرگومان logical_test یا همان شرط منطقی مسأله. توجه کنید که این آرگومان یا true هست یا false.

 

  • دومین آرگومان value_if_true یعنی مقدار در صورت درست بودن شرط. اگر آرگومان اول true بود تابع if میاد سراغ آرگومان دوم و هر چیزی که در آرگومان دوم هست رو به عنوان جواب تابع برمیگردونه و دیگه به آرگومان سوم کاری نداره.

 

  • سومین آرگومان value_if_false یعنی مقدار در صورت غلط بودن شرط. اگر آرگومان اول false باشه تابع if میاد سراغ آرگومان سوم و هر چیزی که در آرگومان سوم هست رو به عنوان جواب تابع برمیگردونه و دیگه به آرگومان دوم کاری نداره.

 

نکته: اگر آرگومان های تابع IF شامل متن (text) باشه، باید آن متن را داخل دابل کوتیشن (” “) بذاریم. مثل “اضافه کاری”.

 

مثال از تابع IF

اما برای درک کارکرد تابع IF در اکسل مثال زیر را در نظر بگیرید:

در یک کلاس در صورتی که نمره دانشجو بزرگتر یا مساوی 12 باشه، در درس مربوطه قبول میشه و در صورتی که نمره او زیر 12 باشه، مردود میشه.

نمره هر دانشجوی این کلاس در جدول زیر در سلول های ستون C اکسل درج شده و در ستون مقابل (ستون D) باید وضعیت قبولی یا مردودی هر دانشجو قرار بگیره. اما برای تعیین وضعیت هر دانشجو باید در سلول های وضعیت فرمول نویسی شه (البته شاید بپرسید چرا فرمول نویسی؟ برای این تعداد دانشجو خودمان به صورت دستی وضعیت قبولی یا مردودی هر دانشجو را تایپ می کنیم؛ اما در صورتی که تعداد دانشجوها زیاد باشه اینکار بسیار زمانبر و فرسایشیه). در این مثال چون دو حالت قبولی و مردودی وجود داره برای فرمول نویسی باید از تابع IF در اکسل استفاده کرد. برای اولین دانشجو فرمول نویسی کرده و به سایر سلول ها تعمیم میدیم؛ به این صورت:

(C32<12,”مردود”,”قبول”)IF=

فرمول نویسی با تابع IF

اما این فرمول چیکار میکنه؟ فرمول داره میگه اگر نمره دانشجو کوچکتر از 12 بود نتیجه میشه مردود و اگر نه (اگر بزرگتر یا مساوی 12 بود) نتیجه میشه قبول.

تشریح آرگومان ها در مثال

آرگومان اول  تابع IF (شرط) کوچکتر از 12 بودن نمره است. C32<12؛

 

آرگومان دوم تابع IF (مقدار در صورت صحیح بودن شرط) “مردود” است.

 

آرگومان سوم تابع IF (مقدار در صورت غلط بودن شرط) “قبول” است.

 

*البته می توان شرط را به صورت برعکس نیز نوشت یعنی C32>=12 اما در این صورت آرگومان های دوم و سوم نیز جابجا می شود.

پس از اینکه برای دانشجوی اول فرمول نویسی را انجام دادیم، برای سایر دانشجوها فرمول را تعمیم می دهیم (Autofill می کنیم). در نهایت نتیجه به صورت زیر می شود:

جدول نتیجه فرمول نویسی با تایع IF

جدول نتیجه فرمول نویسی با تایع IF

همانطورکه می بینید، جواب ها کاملاً درست و مطابق انتظار ماست.

IF های تو در تو در اکسل (Nested IF)

ما در مساله بالا دو حالت “قبول” و “مردود” داشتیم؛ حالا شاید براتون سؤال پیش بیاد که اگر بیشتر از دو حالت وجود داشته باشه چطور باید از تابع if استفاده کنیم؟ در این صورت باید از if های تو در تو (Nested IF) استفاده کنیم. به مثال زیر توجه کنید:

نمرات دانشجوهای یه کلاس به صورت جدول زیر در اکسل درج شدن. در این کلاس اگر نمره دانشجویان بزرگتر یا مساوی 17 باشد، در رده A؛ اگر بین 12 تا 17 باشند، در رده B و اگر کوچکتر یا مساوی 12 باشند در رده C قرار میگیرن.

نمرات دانشجویان در اکسل

نمرات دانشجویان در اکسل

در این مثال ما سه حالت داریم. گفتیم هرجا صحبت از حالت بندی شد میتونیم از تابع IF در اکسل استفاده کنیم اما تابع IF در حالت عادی فقط یک شرط با دو حالت رو قبول میکنه. حالا راه حل چیه؟ چندین راه حل وجود دارد که در ادامه به آن ها می پردازیم:

راه حل اول) IF های تو در تو (Nested IF)

ابتدا اولین حالت (یعنی بزرگتر یا مساوی 17 بودن نمره دانشجو) را در آرگومان اول تابع IF به عنوان شرط قرار میدیم؛ مانند شکل زیر. خوب حالا اگر شرط برقرار (TRUE) باشه رده دانشجو میشه A که در آرگومان دوم قرار میدیم.

فرمول نویسی به صورت تو در تو با تابع if در اکسل

فرمول نویسی به صورت تو در تو با تابع if در اکسل

اما اگر شرط برقرار نباشه و نمره دانشجو بزرگتر یا مساوی 17 نباشه چی؟ هر جوابی که در این حالت مد نظرمون هست رو باید در آرگومان سوم تابع IF قرار بدیم؛ اما… در صورتی که نمره دانشجو بزرگتر یا مساوی 17 نباشه خودش دو تا حالت پیش میاره و ما جواب قطعی نداریم. پس در آرگومان سوم تابع یه IF دیگه قرار میدیم تا دو حالت بعدی رو بررسی کنه.

IF(B2>=17,”A”,IF(B2<=12,”C”,”B”))=

if تو در تو در اکسل

if تو در تو در اکسل

همونطوری که میبینید در IF دوم شرط کوچکتر یا مساوی 12 بودن نمره قرار گرفته که اگر این شرط برقرار باشه رده دانشجو C هست و اگر برقرار نباشه یعنی نمره دانشجو نه بزرگتر مساوی 17 هست نه کوچکتر مساوی 12؛ پس نمره بین 12 تا 17 هست و رده دانشجو میشه B. باید دقت کنید که IF دوم داخل آرگومان سوم IF اول قرار گرفته و در واقع هر اتفاقی که داخل IF دوم میفته با این فرض هست که نمره دانشجو کوچکتر از 17 هستش. با تعمیم فرمول برای سایر دانشجویان نتیجه به صورت زیر میشه:

نتیجه فرمول نویسی با if های تودرتو

نتیجه فرمول نویسی با if های تودرتو

راه حل دوم) استفاده از تابع Switch

برای آشنایی با این تابع و راه  حل مورد نظر بر روی لینک مربوط به تابع switch کلیک کنید.

برای آموزش مطالب بیشتر در زمینه نرم افزار اکسل می توانید در دوره های اکسل مقدماتی و اکسل پیشرفته در آموزشگاه پویش پایدار شرکت کنید و علاوه بر استفاده از خدمات دوره، مدرک معتبر و بین المللی برای نرم افزار اکسل دریافت کنید.

 

ممنون از توجه شما 🙂

هر گونه سوال، پیشنهاد یا انتقادی در رابطه با دوره رایگان آموزش اکسل دارید در بخش دیدگاه‌ها مطرح نمایید تا بتوانیم بهترین آموزش ها را برای شما علاقمندان به آموزش اکسل تهیه کنیم.

مطالب زیر را حتما مطالعه کنید

8 دیدگاه

  1. سلام
    ممنون از آموزش های حرفه ای شما
    من یه جدول دارم که یه سری شماره فاکتور ستون اولش هست (ستون A) قرار گرفته و شماره فاکتورها به این صورت ساخته شدن:
    کد فروشگاه-کد مشتری: مثلا 201C یعنی مشتری شماره 201 از فروشگاه C خرید کرده.
    فروشگاه C در غرب تهران- فروشگاه B در جنوب تهران و فروشگاه A در شمال تهران است و ما یه ستون داریم به نام ناحیه که میخوام با توجه به شماره فاکتور ناحیه مربوط به فاکتور مشخص شه. اگر امکان داره میخواستم راهنماییم کنید ممنون.

    • با سلام… تشکر
      شما باید از ترکیب تابع if با تابع right استفاده کنید… فرمول زیر را در اولین سلول ستون ناحیه (ستون B) بنویسید و به سمت پایین فرمول را تعمیم دهید:
      (“غرب تهران”,”جنوب تهران”,”IF(RIGHT(B2,1)=”A,”شمال تهران”,”IF(RIGHT(B2,1)=”B

  2. سلام. فرض کنید من میخوام برای یک ماشین وضعیتی رو تعریف کنم که اگر سلول چک روغن A1 بیشتر از مثلا 20 بود در ستون c1 بنویسه تعویض روغن و اگر سلول چک کیلومتر B1 بیشتر از 30 بود در ستون c1 بنویسه چک تسمه تایم. حالا اگر در هر دو سلول A1وB1 مقادیر بیشتر از حد تعریف شده بود بنویسه چک ماشین و اگر کمتر از مقادیر بود بنویسه وضعیت عادی. در این صورت من باید مجددا یک if دیگه اضافه کنم؟ یا باید از تابع دیگه ای استفاده کنم؟

دیدگاهتان را بنویسید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای مورد نیاز با * مشخص شده است

نوشتن دیدگاه