تابع IF اکسل و نحوه بکار بردن آن

تابع IF اکسل و کاربرد آن

سلام. بالاخره با تاخیر طولانی دوباره در خدمت دوستان هستم. این روزها درگیر مشکلات سرور سایت و جابجایی اون به یک سرور بهتر بودم (و البته هنوز هم درگیر این جابجایی هستم) و به دلیل جابه‌جایی و سایر مشکلات وقت کمتری برای نوشتن بود. در آموزش اکسل امروز با تابع IF اکسل آشنا میشیم. اگر شما کمی با اصطلاحات برنامه نویسی آشنا باشید احتمالا با مفهوم شرطی IF آشنا هستید. در زبان های برنامه نویسی وقتی از IF استفاده میکنیم میخوایم یک شرط رو بررسی کنیم و بر اساس اینکه اون شرط درسته یا نه دو کد متفاوت رو اجرا کنیم. مثلا بررسی کنیم که آیا موجودی انبار بزرگتر از صفر هست یا خیر. اگر موجودی بزرگتر از صفر بود پیام تامین کالا و در غیر اینصورت پیام مواجه با کسری کالا رو به کاربر نشون بدیم. کاربرد تابع IF اکسل هم به همین شکل هست. یعنی ما شرطی رو تعیین میکنیم و بسته به اینکه شرط برقرار باشه یا نه مقادیر متفاوتی رو به عنوان نتیجه تابع بر میگردونیم. در ادامه بیشتر با کاربرد تابع IF اکسل آشنا خواهیم شد.

 قاعده کلی تابع IF اکسل:

=IF(مقدار در صورت برقرار نبودن شرط[اختیاری],مقدار در صورت برقرار بودن شرط,شرط)

حالا با هم نگاهی به پارامترهای تابع IF اکسل بندازیم:

  • شرط: این پارامتر شرطی رو که قرار هست تابع IF اکسل چک کنه تعیین میکنه. این پارامتر میتونه یک عدد، مقدار یک سلول یا یک عبارت شرطی مثل A1>10 باشه.
  • مقدار در صورت برقرار بودن شرط: در صورتی که شرط تعیین شده در پارامتر اول برقرار باشه، این پارامتر به عنوان نتیجه تابع برگردونده میشه. این پارامتر میتونه هر چیزی باشه. از یک مقدار عددی ساده تا یک فرمول خیلی پیچیده.
  • مقدار در صورت برقرار نبودن شرط: زمانی که شرط تعیین شده در پارامتر اول صحیح نباشه مقدار این پارامتر به عنوان نتیجه تابع برگردونه میشه. تعیین این پارامتر اختیاری هست. اگر شما این پارامتر رو تعیین نکنید و شرط تعیین شده در پارامتر اول هم صحیح نباشه عبارت False به عنوان نتیجه تابع در سلول قرار داده میشه.

مثالی برای استفاده از تابع IF اکسل:

فرض کنید ما جدولی مثل جدول زیر داریم که در اون موجودی و سفارش مشتری برای هر کدام از کالاهای ما وجود داره و هر روز بروز رسانی میشه:

نام کالا موجودی انبار درخواست وضعیت
قطعه شماره 1 10 186
قطعه شماره 2 191 25
قطعه شماره 3 131 160
قطعه شماره 4 121 150
قطعه شماره 5 53 10
قطعه شماره 6 171 56
قطعه شماره 7 83 116

حالا ما میخوایم با استفاده از تابع IF اکسل فرمولی رو در ستون وضعیت بنویسیم که در صورتی که موجودی انبار هر قطعه بزرگتر یا مساوی درخواست مشتری بود وضعیت کالا قابل ارسال و در صورتی که موجودی انبار کمتر از درخواست مشتری بود وضعیت کالا به عدم موجودی تغییر کنه. خب ببینیم چطوری برای حل این مساله باید از تابع IF اکسل استفاده کنیم.

  • گام اول- تعیین شرط:

ما قراره با مقایسه موجودی کالا و درخواست مشتری تصمیم گیری کنیم. زمانی وضعیت کالای ما قابل ارسال هست که موجودی بزرگتر یا مساوی درخواست باشه. بنابراین شرط ما B2>=C2 هست.

  • گام دوم – تعیین مقدار تابع در صورت برقرار بودن شرط:

در صورتی که موجودی ما بزرگتر یا مساوی درخواست باشه وضعیت کالای ما قابل ارسال هست. بنابراین عبارت “قابل ارسال” رو به عنوان نتیجه تابع در صورت برقرار بودن شرط تعیین میکنیم. دقت کنید که عبارات متنی حتما باید بین دو علامت نقل قول قرار داشته باشند.

  • گام سوم – تعیین مقدار در صورت برقرار نبودن شرط:

در صورتی که موجودی کمتر از درخواست باشه وضعیت کالای ما عدم موجودی هست. بنابراین عبارت “عدم موجودی” رو به عنوان نتیجه تابع در صورت برقرار بودن شرط تعیین میکنیم.

در پایان تابع IF اکسل ما به شکل زیر کامل میشه:

=IF(B2>=C2;”عدم موجودی”;”قابل ارسال”)

حالا این فرمول رو در سلول D2 مینویسیم و بعد فرمول سلول D2 رو در سلول های D3 تا D8 کپی میکنیم. با اینکار جدول ما به شکل زیر در میاد:

نام کالا موجودی انبار درخواست وضعیت
قطعه شماره 1 10 186 عدم موجودی
قطعه شماره 2 191 25 قابل ارسال
قطعه شماره 3 131 160 عدم موجودی
قطعه شماره 4 121 150 عدم موجودی
قطعه شماره 5 53 10 قابل ارسال
قطعه شماره 6 171 56 قابل ارسال
قطعه شماره 7 83 116 عدم موجودی

دانلود فایل آموزش:

مخصوص کاربران ویژه سایت
کاربر گرامی دسترسی کامل به مطالب مربوط به این بخش با اشتراک در بخش کاربران ویژه امکانپذیر میباشد. لطفا برای اشتراک در بخش کاربران ویژه از بخش عضویت ویژه استفاده نمایید

تمرین:

 

مخصوص کاربران ویژه سایت
کاربر گرامی دسترسی کامل به مطالب مربوط به این بخش با اشتراک در بخش کاربران ویژه امکانپذیر میباشد. لطفا برای اشتراک در بخش کاربران ویژه از بخش عضویت ویژه استفاده نمایید

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

896 Comments on “تابع IF اکسل و نحوه بکار بردن آن”

  1. درود
    یک ستون در فایل اکسل مربوط به تاریخ می باشد( تاریخ دوره آموزشی که کارمندان سپری کردن و بعد از 60 ماه دوباره باید دوره تجدید شود) میخوام شرط بزارم برا این ستون
    به این صورت که اگر زمان از 48 ماه گذشت سل مربوط به تارخ رو برام رنگ زردش کن. مثال: فلان کارمند در تاریخ92/06/20 دوره رو گذرونده،و میخوام سیستمی بهم آلارم بده زمان تجدید دوره نزدیک.
    اگر از 60 ماه گذشت سل تاریخ مربوطه رو برام قرمز کن.
    سپاس از لطفتون

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

  3. سلام دوستان یک if تو ifای نوشتم در زیر برین حالشو ببرین
    اگه در سلول اولی که مد نظرتون هستش یک روز هفته رو بنویسید خود به خود روز بعدشو براتون مینویسه.
    ممنون از یاسین عزیز که اینو برا دوستان با اسمم انتشار میده.
    در یک سلول کپی شود و در سلول d4 روز هفته مورد نظر نوشته شود روز بعد شو براتون نشون میده
    اگه خلاق باشین خیلی کارا میتونید باهاش انجام بدین
    این فرمول hf فرمول عجیبیه….
    =IF(D4=”جمعه”;”شنبه”;IF(D4=”شنبه”;”یکشنبه”;IF(D4=”یکشنبه”;”دوشنبه”;IF(D4=”دوشنبه”;”سه شنبه”;IF(D4=”سه شنبه”;”چهارشنبه”;IF(D4=”چهارشنبه”;”پنجشنبه”;IF(D4=”پنجشنبه”;”جمعه”;IF(D4=”جمعه”;”شنبه”;”شهاب”))))))))

  4. سلام
    با چه دستوری میشه در بخش
    value if false
    در تابع if ، عمل no action راانجام داد؟
    به معنای دیگر در صورت برقرار نشدن شرط هیچ واکنشی انجام ندهد؟
    یا چه تابعی هست که فقط در یک صورت (صحیح بودن یا غلط بودن) خروجی بدهد؟
    ممنون از وقتی که قرار میدید.

  5. سلام اقای اسماعیل پور عزیز
    اگه من بخوام پورسانت یک شخص و محاسبه کنم از این فرمول استفاده میکنم a1*3%=
    ولی اگه بخوام واست شرط بزارم که در صورتی که از مبلغ 20000 تومان بیشتر فروش کرد درصد پورسانت 4 % بشه و یا بلعکس باید چه فرمولی رو بنویسم
    متشکر از راهنمایتون

  6. سلام جناب اسماعیل پور عزیز
    میخواستم بدون زمانی که ما میخوایم پورسانت یک شخص و محاسبه کنیم از این فرمول استفاده میکنیم a1*3% ولی اگه بخوایم شرط بزاریم که اگه این شخص از 20000 هزار تومان بیشتر فروش کرد 4% محاسبه بشه و بالعکس چه فرمولی رو باید بنویسیم
    ممنون از راهنماییتون

  7. سلام وقت بخیر
    میشه با if دستور رنگ کردن سلول رو داد؟؟؟
    مثلاً در صورتیکه موجوده خونه سبز بشه و در غیر این صورت قرمز؟؟؟؟

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

  9. سلام جناب اسماعيل پورعزيز.
    اگه بخواهيم مقاديري همچون باركد ارجاع دفاتر بيمه تأمين اجتماعي يا كد ملي آنها را به گونه اي ذخيره كنيم كه به محض ثبت مجدد شماره كدهاي ذخيره شده با دست يا باركدخوان در ليستهاي بعدي ,بلافاصله نام صاحب دفترچه ظاهر شده ونيازي به نوشتن مجدد اسم افراد نباشيم , ازچه فرمولي بايد استفاده كنيم,
    در ضمن راه حل نمايش اعدادو ارقام بالاي مثلا” 13-12 رقمي در جدول چيست. چون معمولا” بالاي 12-10 رقم را با صفر نشان مي دهد.
    سپاس از لطفتون.

  10. سلام مهندس شب خوش.من این کد رو هرچی مینویسم ارور میده اگه میشه کمکم کنید
    =IF(B12>=81 ;”بد”;IF(B12>=36
    ;”متوسط”;”خوب”))

  11. سلام
    سوالم اینکه در اکسل زمانی که بخواهیم دو سلول را از هم کم کنیم بجای جواب ، علامت مثبت و یا منفی وارد کند چگونه انجام دهم؟
    ممنون میشم راهنماییم کنید

  12. سلام
    توی اکسل این قابلیت وجود داره که بگیم از این دوتا سلول، فقط یکیش میتونه پر باشه؟یعنی اگر مثلا A1 مقدار گرفت، دیگه A2 مقدار قبول نکنه؟؟؟؟؟؟؟؟؟)
    اگر میشه، لطفا راهنمایی کنید.

  13. سلام
    وقت بخیر
    من اگر در هر ردیف بخواهم از یک خانه یک عدد را بخواند و بر اساس آن عدد مقدار مورد نظرم را بگذارد با چه دستوری بنویسم
    مثلا: اگر عدد 8بود در خانه دیگر219.1 را لحاظ کند
    یا اگر 6بود عدد168.3را لحاظ کند
    ممنونم

  14. سلام دوسته عزیز خوبید
    دوست عزیزم من ی جدول از یک فروشگاه رو درست کردم ک میخام ب ازای خرید مشتریان بهشون تخفیف بدم ک ب طور مثال هر کسی ک 50000تومن خرید کرد 5 درصد
    کسی ک 100000 تومن خرید کرد 10 درصد
    و کسی ک 200000تومن یا بیشتر خرید کرد 15 درصد تخفیف بدم
    ممنون میشم اگه بتونید راهنماییم کنید دوسته عزیز
    با تشکر

  15. سلام خسته نباشید
    من میخوام فرمولی رو در یک سلول مثلا” C1 بنویسم که مقدارسلول مثلا” A1 رابخواند و اگر درست بود مقدار آن را در سلول B1 بنویسد ایا اکسل این کارو انجام میده؟

  16. با سلام اگر بخواهیم یک نموداری در جدول باشه ولی در محاسبه قیمت ها لحاظ نشه چه جوری باید انجام بدیم!?

  17. =IF(M5>=100;500000*M5%)(M5>=110;750000*M5%)(M5>=120;1000000*M5%) سلام .من میخوام همچین فرمولی تو یه خونه باشه چیکارکنم

  18. سلام
    لطفا فرمول با شرط زیر روجهت سلول M47 برام بنویسید . بسیار سپاسگزارم

    اگر مقدار سلول M47 مساوی یا بیشتر از 160 بود نتیجه بشود 100
    اگر مقدار سلول M47 کمتر از 160 و بیشتر یا مساوی 155 بود نتیجه بشود 95
    اگر مقدار سلول M47 کمتر از 155 و بیشتر یا مساوی 150 بود نتیجه بشود 90
    اگر مقدار سلول M47 کمتر از 150 و بیشتر یا مساوی 145 بود نتیجه بشود 85

  19. سلام
    من میخوام تابع شرطی برای یک بازه بدم، یعنی IF(F5=”a1:a5″;2;0)= ولی جواب نمیده.
    میخوام با لیست کشویی در یک خانه اگر از خانه a1 یا a2 و یا … تا a5 انتخاب شد 2 بده در غیر این صورت بده 0.
    ممنون میشم اگر کمک کنید.

  20. سلام اگر وضعیت عادی و نمره کل بزرگتر مساوی ۱۰ باشد قبول اگر نباشد مردود اگه میشه بگین اینو چجوری وارد کنم

  21. باسلام
    ممنونم از راهنمایی و این توجه بسیار خوبتون بابت جواب دادنها
    بنده یه فرمول میخوام بنویسم ولی نمیدونم باید چیکار کنم
    ممنونم میشم اگه جواب بدید
    اگه بخوام یه سلول بالای 2000000میلون بودش اون رقم بالاتر منهای کنه در 10% باید چیکار کنم
    مثلا اگه 2500000 بودش فقط 500000 هزارو منهای 10% کنه
    ممنون میشم اگه جواب بدید

  22. با سلام در کارنامه دانش آموزان می خواهیم از if استفاده کنیم یعنی نمره بالای 18 عالی ، نمره بین 15 تا 18 متوسط ، نمره بین 12 تا 15 ضعیف و نمره زیر 12 خیلی ضیف ثبت شود
    چگونه فرمول بنویسم

  23. سلام
    من میخوام یه فرمول داخل سلول m3 بنویسم که اگر حاصل منهی K3 و L3 کوچیکتراز 10000 بود داخل سلول m3 نوشته شه 0 و اگر بزرگتر بود هر عددی که هست نوشته شه
    ممنون میشم زود جواب بدید

  24. سلام آقا یاسین
    ممنون میشم راهنماییم کنید، یه فرمول میخوام تا باهاش بتونم، سرعت عملکرد نیروها رو در ماموریت های مختلف بصورت عالی، خیلی خوب، متوسط و ضعیف نشون بده.
    به این صورت که اگه مدت زمان انجام ماموریت شماره یک تا 40 دقیقه طول بکشد= عالی و اگه تا 50 دقیقه طول بکشد= خیلی خوب و اگه تا1 ساعت طول بکشد= متوسط و اگر بیشتر از 1 ساعت طول بکشد= ضعیف نشان داده شود.
    و برای ماموریت شماره دو تا 50 دقیقه = عالی تا 1 ساعت= خیلی خوب تا 1:15 = متوسط و بیشتر از 1:15= ضعیف لطف بزرگی میکنید اگه راهنماییم کنید.

  25. سلام خسته نباشید مهندس . مهندس من میخواستم از تابع if استفاده کنم ولی نمیدونم چجوری بکار ببرم ممنون میشم راهنمایی کنیین
    به این ترتیب که اگر g5-h5 بزرگتر از صفر یا همان مثبت باشه جواب را در سلول
    i5 و اگر g5-h5 کوچکتر از صفر یا همان منفی باشه جواب را در سلول j5 قرار بده
    بسیار سپاسگزارم از راهنمایی هاتون.

  26. سلام اقایاسین خسته نباشید-من میخام تابعی بنویسم که وقتی یک اسم را تایپ میکنم یک شماره خاص را ازیک شیت مقابلش برام بیاره-مثلا باتایپ اسم طرف شماره پرسنلی اون فرد را بیاره توسلول روبروی اسمش
    ممنون میشم راهنمایی کنید

    1. سلام ناصرجان. شما باید از تابع vlookup یا ترکیب دو تابع index و match استفاده کنطو. آموزش هر دو مورد در سایت موجود هست

  27. سلام روزتون بخیر
    ممنون از وقت و سخاوتتون در آموزش
    من می خوام با if فرمولی بنویسم که اگه شماره تلفنی که وارد می کنم توی ردیف مثلا B وجود داشته باشه خروجی “تکراری”باشه در غیر این صورت شماره تلفن جدید را کپی کنه در آخرین سلول خالی ردیف B
    میدونم از if -else باید استفاده کنم ولی چینش شرطها و دستور کپی در آخرین خانه ردیف B را نمی دونم اگه امکانش هست راهنماییم کنید

  28. سلام وقتی بخواییم ی تابع با دو شرط برای یک سلول بنویسیم باید چه کار کنیم؟
    مثلا میخوام بنویسیم اگر سلول بین -484 تا 484 بود خودش را بنویسد ولی اگر بزرگتر از 484 بود ، 484 بنویسد و اگر کوچکتر از -484 بود ،-484 بنویسد
    ممنون

  29. سلام متشکر بابت آموزش عالی سایت یک سوال داشتم
    میشه داخل یک ستون شرط های مختلفی نوشت و اون شرط ها داخل کار هم خلل ایجاد نکنند
    مثلا در ستون a یک سری کد داریم که هر کد مربوط به یک نفر است و دفعات زیاد تکرار شده می خواهم درستون c یک if بنویسم مثلا سلول c2=if(a2=2514;”mohammad”;””) و تا آخر ستون کد2514 رو به اسم محمد بزنه و برای رذیف بعدی مثلا c3=if(a3=8754;”ali”;c3) وشرط قبلی رو کنسل نکنه و اگه اشتباه بود خود محتوای سلول رو نشون بده (c3) چون ردیف ها خیلی زیادن نمی خواهم از if های تو در تو استفاده کنم

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *