
آشنایی با فرمول IF در اکسل
ما روزانه در حال انتخاب و تصمیم گیری در خصوص مسائل روزمره هستیم و با منطق انتخاب و تصمیم گیری کاملا آشنا هستیم. مثلا به خودمون میگیم: اگه این اتفاق بیفته این کار و میکنم، اگه نیفته، ی کار دیگه!. یا مثلا میگیم اگه حالم خوب باشه و دوستم موافق باشه، به پارک میرم. در غیر اینصورت میرم خونه و مسائلی از این دست. در اکسل هم این موضوع برقرار هست. مثلا میگیم اگه خروجی این فرمول بزرگتر از صفر شد، خروجی بشه “عالی” در غیر اینصورت سلول رو خالی بذاره. به توابعی که این کار رو در اکسل انجام میدن، توابع منطقی یا Logical گفته میشه. اصلی ترین و پرکاربردترین تابع در این دسته توابع، فرمول if در اکسل است. توابع منطقی اساس و پایه برنامه نویسی در اکسل هست چرا که وجه اشتراک خواسته ما و زبان اکسل است. ما با این توابع و از همه مهمتر تابع If خواسته های منطقی خود را به اکسل می فهمانیم. پس درک این توابع و توانایی تبدیل مسائل مختلف به ساختار If خیلی خیلی مهمه. در ادامه به معرفی تابع If و مثال های کاربردی این تابع می پردازیم. تشریح آرگومان های این تابع:
Logical_Test:
شرط ماست. همونی که میگیم اگه این اتفاق افتاد. مثلا همینکه اگر دوستم باهام بیاد، شرط ماست.
value_if_True: خروجی فرمول در صورتی که شرط برقرار بشه. مثلا اگه دوستم بیاد، میرم پارک. پارک رفتن Value true ماست.
value_if_False: حالا اگه شرط برقرار نشد چی؟. این آرگومان خروجی تابع در صورت برقرار نبودن شرطه. یعنی اگه دوستم نیومد، میرم خونه.
خب تا اینجا یک شرطی بودن رو توضیح دادیم. حالا اگه علاوه بر موافقت دوستم، خوب بودن حال خودم هم بخواد یکی از شرط ها باشه، وارد یک مبحث دیگه میشه که بعدا بررسی می کنیم.
با چند تا مثال این مفهوم رو بیشتر کار کنیم:
مسئله اول تابع IF

در شکل ۱، اطلاعات فروش شعب یک فروشگاه زنجیره ای را داریم. می خواهیم مسئولین شعبه هایی که بیش از ۵۰۰ فروش داشتند را استخراج کنیم.
شکل۱- فرمول if در اکسل ، استخراج نام مسئولین شعبه های با فروش بالای ۵۰۰
تشریح آرگومان ها: آرگومان اول: شرط این است که ایا فروش بالای ۵۰۰ بوده یا نه.
IF(B2>500,C2,””)
آرگومان دوم: اگر شرط برقرار (فروش بالای ۵۰۰) باشد، نام مسئول فروشگاه به عنوان خروجی تابع نمایش داده شود.
IF(B2>500,C2,””)
آرگومان سوم: اگر شرط برقرار (فروش بالای ۵۰۰) نباشد، سل خالی بماند. که خالی بودن را بصورت “” در اکسل نمایش میدهیم.
IF(B2>500,C2,“”)
مسئله دوم تابع IF

در شکل ۲، اطلاعات فروش شعب یک فروشگاه زنجیره ای را داریم. میخواهیم اگر شعبه ای بیش از ۷۰۰ فروش داشته ۶۰% پورسانت و اگر زیر ۷۰۰ فروش داشته ۴۰% پورسانت دریافت کند.
شکل ۲- فرمول if در اکسل ، محاسبه پورسانت با شرط میزان فروش
تشریح آرگومان ها: آرگومان اول: شرط ما اینه که ببینیم آیا فروش هر شعبه بالای ۷۰۰ بوده یا نه:
IF(B2>=700,0.6*B2,0.4*B2)
آرگومان دوم: ۶۰ درصد فروش به عنوان پورسانت برای فروش های بالای ۷۰۰٫ بعبارتی، در بررسی شرط منطقی (فروش بالای ۷۰۰)، اگر برقرار (بزرگتر مساوی ۷۰۰) بود، پورسانت معادل ۶۰ درصد فروش محاسبه می شه.
IF(B2>=700,0.6*B2,0.4*B2)
آرگومان سوم: ۴۰ درصد فروش به عنوان پورسانت برای فروش های زیر ۷۰۰٫ بعبارتی، در بررسی شرط منطقی (فروش بالای ۷۰۰)، اگر برقرار (بزرگتر مساوی ۷۰۰) نبود، پورسانت معادل ۴۰ درصد فروش محاسبه می شه.
IF(B2>=700,0.6*B2,0.4*B2)
مسئله سوم تابع IF
تا اینجا مثال هایی که زدیم فقط روی اعداد بود. سوال اینجاست که آیا میتونیم روی کلمات هم شرط بنویسیم؟ جواب اینه که بله، کافیه که هر شرطی که مینویسیم، در نهایت به true/false ختم بشه. پس کافیه که بنویسیم مثلا A1=”تحویل داده شد” و بعد مابقی فرمول. به فرمول زیر دقت کنید.
=IF(A1=”تحویل داده شد”, “OK”, “Not Ok”)
در این فرمول اگر داخل سلول A1 عبارت تحویل داده شد نوشته شده باشه، عبارت Ok نمایش داده میشه و اگر این عبارت نوشته نشده باشه، Not Ok نمایش داده میشه. توجه داشته باشید که گزاره باید عینا نوشته شده باشه. مثلا اگر فقط “تحویل” نوشته شده باشه، شرط برقرار نیست. چون شرط بصورت کامل مود بررسی قرار میگیره. پس مراقب Space های اضافی هم باشید!
نکته: هر جمله، کلمه و یا عبارتی رو داخل فرمول میخواهیم بنویسیم، باید داخل “” قرار بدیم. در غیر اینصورت با خطا مواجه میشیم.
حالا موضوعی که پیش میاد اینه که اگر بخوایم بخشی از سلول رو مورد جستجو قرار بده چه باید بکنیم؟ مثلا اگر سلولی شامل عبارت تحویل بود، بهمون OK رو بده. حالا هر جمله و کلمه دیگه ای هم قبل یا بعدش بود باز هم خروجی صحیح باشه. برای این کار باید اول با استفاده از توابع دیگه وجود یک عبارت رو در یک سلول بررسی کنیم. برای این کار تابع Search/Find استفاده میکنیم. توضیحات و مثال بیشتر رو میتونید در مقاله مربوط به تابع Find مطالعه کنید.
برای حل این مسئله اول باید ببینیم آیا عبارت “تحویل” در سلول مورد نظر وجود داره یا نه. برای این کار از تابع Search/Find بصورت زیر استفاده میکنیم.
Search(“تحویل”,A1)
خروجی این تابع یا عدده یا خطا. اگه عدد بده، یعنی اون عبارت پیدا شده و وجود داره ،اگر خطای #Value بده، یعنی پیدا نکرده. از طرفی ما گفتیم که فرمولی که در شرط if نوشته میشه باید به true/False ختم بشه. پس این کافی نیست. ما باید با یک فرمول، عدد بودن خروجی تایع Search رو به true تبدیل کنیم. برای این کار از تابع isnumber استفاده میکنیم. این تابع هموطور که از اسمش پیداست، چک میکنه که ورودی مورد نظر عدد هست یا نه. اگر عدد باشه، True میده و اگر عدد نباشه False. پس فرمول رو بصورت زیر می نویسیم.
Isnumber ( Search (“تحویل”,A1))
خروجی این فرمول چیه؟ جلوی هر سلولی که شامل کلمه تحویل باشه، عبارت true نمایش میده و هر سلولی که این کلمه رو نداشته باشه، False نمایش میده. پس کافیه این فرمول به عنوان اولین آرگومان تابع if قرار بگیگره و مابقی آرگومان ها مثل فرمول قبلی، یعنی:
IF ( Isnumber ( Search (“تحویل”,A1)), “OK”, “Not Ok”)
تابع If اهمیت خیلی زیادی داره و هنر کاربران در اینه که بتونن مسائل منطقی خودشون رو به زبان اکسل تبدیل کنن. حالت ساده If (که خودش به تنهایی از اهمیت بسیار زیادی برخوردار هست) رو توضیح دادیم که در اون یک شرط رو بررسی کردیم. حالا برای حالت های مختلف مثلا بررسی بیش از یک شرط و اصطلاحا If های تو در تو یا Nested_If آموزش های بعدی را از دست ندهید. همچنین آموزش عملگرهای منطقی در اکسل رو هم بخون. ویدئو معرفی تابع IF این آموزش رو به صورت ویدئویی ببینید:





سلام وقت بخیر، یه سوال داشتم، اگر در فرمول IF، بخواییم یک کلمه خاص رو دنبال کنیم و شرط رو بر اساس جستجوی اون بزاریم، کلمه موردنظر رو بایستی در ” ” مشخص کنیم، اما اگه این کلمه در یک باکس همراه با کلمه دیگه ای قرار گرفته باشه، نمیتونم اون رو در فرمول پیدا کنم، به عنوان مثال :
دسته بندی هزینه هزینه مبلغ
تولیدی رسید برق ۱
خدماتی قبض ۲
تولیدی بازاریابی ۵
اداری متفرقه ۸
تولیدی رسید ۶
ادارای رسید ۸
تولیدی قبض ۵
خدماتی نمایشگاه ۲
خدماتی پذیرایی ۴
مثلاً من میخوام اگر هر جایی نام “رسید” رویت شد، هزینه مقابل اون رو نمایش بده، در حالیکه باکس رسید برق رو در فرمول من نمایش نمیده!
ممنون میشم راهنمایی بفرمائید.
درود بر شما
برای این کار میتونید از wildcard استفاده کنید که البته در تابع if ج نمیده و باید از vlookup استفاده کنید به این ترتیب که شرط رو بجای “رسید” بزنید “*رسید*”
یا اینکه از تابع FInd استفاده کنید که اگر مقدار مورد نظر رو پیدا کنه خروجی عدد خواهد بود و میتونید بذاردی توی تابع IF و بقیه ماجرا
سلام. فرمول شرطی لازم دارم بصورت ذیل. ممنون میشم رانمایی بفرمایید.
اگرسلول F4 برابر ۱یا ۳ بود این فرمول عمل شود
(K4*6/5)+(L4*12/5)+(M4*18/75)
و اگرسلول F4 برابر ۲یا ۴بود این فرمول عمل شود
(K4*6)+(L4*12)+(M4*18)
سلام
من بیست تا ستون دارم میخوام مشترک های همه ستون ها بیاد تو ستون بیست و یک باید چیکار کنم ؟
سلام
یه راهش اینه که همه بیست ستون رو بیارید تو یک ستون، بعد روی اون Remove Duplicate بزنید. نهایتا جلو هر کدوم از این موارد یک Countif بنویسید و هر سلولی که مقدارش ۲۰ شد یعنی تو همه ستون ها هست و میتونید با استفاده از فیلتر این سلول ها رو جدا کنید. (البته با فرض اینکه هر مورد در هر ستون بیشتر از یک بار تکرار نشده باشه)
باعرض سلام میشه لطفا راهنماییم کنید من سلول های باشماره تکراری زیاددارم میخوام سلول های تکراری رو شماره گذاری کنه مثلا سلول ۱ عدد ۱ سلول ۲ عدد ۲و… جلوش بیفته و سلولی که شماره تکراری نداره ۱ باشه
۱۸۱۵ ۱
۱۸۱۵ ۲
۱۸۱۵ ۳
۱۷۱۲ ۱
۱۷۱۲ ۲
درود بر شما، وقتی countif استفاده کنید با محدوده متحرک، خودبخود خروجیش همین خواهد بود
درود بر شما، وقتی countif استفاده کنید با محدوده متحرک، خودبخود خروجیش همین خواهد بود
درود
اگه ممکنه بفرمایید تو یه سلول اگه عدد زیر صفر شد بطور مثال بارنگ قرمز بنویسه یه شرط اینجوری میخوام
درود بر شما
از conditional formattion/ highlight cells/ less than رو انتخاب کنید و فرمت دلخواه رو تعیین کنید
سلام.چجوری ویدئوها رو دانلود میشه کرد؟
سلام،
در هر دوره ویدئویی که ثبت نام کنید ویدئوها براتون ارسال میشه.
با سلام خدمت اساتید :
من می خواهم دو تا عدد در دوردیف را با هم جمع کنه و اگر جمع ان صد بودبنویس ۱۰۰ودر غیر اینصورت چیزی ننویسه تا اینجا از شما یاد گرفتم ولی می خواهم اگر ۱۰۰ شد دو تا ستون بعد از ان که در جمع نیاورده بیاوردمثال
اگر a1+a2را جمع کردی ۱۰۰ شد بنویس وبعدبرو a4+a5 رو جمع ولی اگر ۱۰۰ نشد پشت سرهم جمع کنه
درود بر شما
خواستتون رو میتونید با if تو در تو بنویسید
اموزش زیر رو مطالعه بفرمایید
https://excelpedia.net/nested-if-functions/
سلام وقت بخیر خواستم ببینم امکانش هست براتون این شرط تو اکسل برام بنویسیدکه مثلا عدد داخل ستون a تا۲۷/۵۰۰/۰۰۰بود ۰بشه اگر بین عدد۲۷/۵۰۰/۰۰۰تا۴۱/۲۵۰/۰۰۰ریال بود ضرب در۱۰%بشه اگر عدد از۴۱/۲۵۰/۰۰۰تا ۶۸/۷۵۰/۰۰۰بود ضرب در۱۵%بشه ممنون
درود بر شما
لینک زیر رو مطالعه بفرمایید
https://excelpedia.net/choose-funcion/
با سلام
دارم یک دیتا بیس درست میکنم که تاریخ رو چک میکنه و در صورت درست بودن مقداری را در سلول روبرو ان ثبت میکنه.میخوام درصورت اشتباه بودن شرط کاری نکنه یعنی سلول روبرو تاریخ روز های دیگه رو تغییر نده
ممنون
درود بر شما
خب اکر میخواید در صورت غلط بودن، کار ی نکنه، قسمت Value False تابع if رو خالی بذارید
با سلام و سپسا بسیار از شما.
سوال آنکه، من در یک ستون، دارای تعداد زیادی اعداد هستم (در ستون دوم). هر یک از این اعداد، در ستون قبلی خود، یک مقدار رتبه بندی شده دارند (ستون اول)؛ از سوی دیگر، دارای یک عدد جدیدی میگردم و میخواهم به کمک روشهای اکسل، مشخص کنم که این عدد جدید در بین کدام دو عدد ستون دوم قرار میگیرد و به تبع آن، در میان کدام دو عدد ستون اول هم خواهد بود. – مرسی.
درود بر شما
اگر درست متوجه شدم، هم با lookup و هم با vlookup بازه ای به جواب میرسید
https://excelpedia.net/vlookup-interval-search/