دوره فرمول نویسی اکسل (Excel Formula) به همراه هوش مصنوعی
دوره فرمول نویسی اکسل (Excel Formula) به همراه هوش مصنوعی

آموزش فرمول نویسی در اکسل: فرمول‌های شرطی و منطقی IF و IFS + مثال‌های کاربردی

ویدیو آموزشی

link alt لینک ویدیو: https://youtu.be/mjQVRfAHlYE
clock three مدت ویدیو: 36:19
category alt دسته بندی: Excel Formulas
person chalkboard مدرس: پویا حیاتی
subtitles آنچه در این ویدیو می بینید:

در این ویدیو یاد می‌گیرید چطور با فرمول‌های شرطی و منطقی در اکسل تصمیم‌گیری کنید و خروجی‌های هوشمند بسازید.
از IF و IFS تا ترکیب IF با AND/OR، حالت IF تو در تو و حتی ترکیب IF با XLOOKUP را با مثال‌های واقعی تمرین می‌کنیم.

Excel Formulas E08

فهرست مطالب و زمان بندی ویدیو

0:00 – فرمول های شرطی و منطقی در اکسل

0:59 – تابع شرطی IF

3:49 – مثال ساده و پایه با IF

6:22 – مثال ترکیبی IF و AND

9:09 – مثال ترکیبی IF ، AND و OR

16:41 – مثال IF تو در تو (Nested IF)

22:33 – مثال ترکیب IF با XLOOKUP

26:22 – تابع شرطی IFS

اگر دنبال آموزش فرمول نویسی در اکسل هستید و می‌خواهید فرمول‌های شرطی در اکسل را درست و کاربردی یاد بگیرید، این قسمت دقیقاً برای شماست. در این مقاله (بر اساس ویدیوی «آموزش فرمول نویسی در اکسل – فرمول‌های شرطی و منطقی IF , IFS») قدم‌به‌قدم با تابع IF در اکسل و تابع IFS در اکسل آشنا می‌شوید، مثال‌های ترکیبی مثل IF با AND/OR را می‌بینید و یاد می‌گیرید چطور در پروژه‌های واقعی از آن‌ها استفاده کنید. پیشنهاد می‌کنم ابتدا ویدیو را ببینید و سپس با مثال‌های این مقاله تمرین کنید تا فرمول‌ها کامل در ذهن‌تان جا بیفتند.

فرمول‌های شرطی و منطقی در اکسل یعنی چه و کجا به کار می‌آیند؟

در اکسل، فرمول‌های شرطی و منطقی به شما کمک می‌کنند بر اساس یک یا چند شرط تصمیم بگیرید و خروجی متفاوت نمایش دهید؛ مثلاً اگر نمره بالاتر از ۱۰ بود «قبول» و اگر نبود «مردود». این نوع فرمول‌نویسی در گزارش‌گیری، داشبوردها، کنترل خطا، دسته‌بندی داده‌ها و حتی محاسبات مالی بسیار کاربردی است.

هسته اصلی این تصمیم‌گیری معمولاً با تابع IF در اکسل انجام می‌شود و وقتی تعداد حالت‌ها زیاد شود، از روش‌هایی مثل IF تو در تو یا تابع IFS در اکسل استفاده می‌کنیم. در ادامه، دقیقاً همین مسیر را با مثال‌های مرحله‌به‌مرحله جلو می‌بریم.

تابع IF در اکسل: ساختار و منطق استفاده

تابع IF یک شرط را بررسی می‌کند: اگر شرط درست بود یک مقدار برمی‌گرداند و اگر غلط بود مقدار دیگری. ساختار کلی آن به این شکل است:

=IF(logical_test, value_if_true, value_if_false)

در اینجا logical_test همان شرط شماست (مثل A2>=10). دو بخش بعدی هم مشخص می‌کنند در حالت درست یا غلط چه خروجی نمایش داده شود. خروجی می‌تواند عدد، متن، سلول دیگر، یا حتی یک فرمول دیگر باشد.

یک مثال ساده و پایه با IF (قبولی/ردی)

فرض کنید نمره در سلول B2 است و می‌خواهید وضعیت قبولی را مشخص کنید. یک فرمول ساده:

=IF(B2>=10,"قبول","مردود")

اگر مقدار B2 بزرگ‌تر یا مساوی ۱۰ باشد، خروجی «قبول» و در غیر این صورت «مردود» نمایش داده می‌شود. این ساده‌ترین کاربرد فرمول‌های شرطی در اکسل است و پایه‌ی تمام ترکیب‌های بعدی محسوب می‌شود.

مثال ترکیبی IF و AND: وقتی چند شرط باید همزمان درست باشند

گاهی یک شرط کافی نیست و باید چند شرط با هم درست باشند. اینجا تابع AND وارد می‌شود. AND زمانی TRUE می‌دهد که همه شرط‌ها درست باشند.

مثلاً دانشجو فقط وقتی «قبول» شود که هم نمره B2 حداقل ۱۰ باشد و هم غیبت C2 کمتر یا مساوی ۳ باشد:

=IF(AND(B2>=10,C2<=3),"قبول","مردود")

این مدل در ارزیابی عملکرد، کنترل قوانین کاری، بررسی تکمیل بودن فرم‌ها و سناریوهای «همه شرایط باید برقرار باشد» بسیار پرکاربرد است.

مثال ترکیبی IF، AND و OR: ترکیب شرط‌های همزمان و جایگزین

تابع OR زمانی TRUE می‌دهد که حداقل یکی از شرط‌ها درست باشد. ترکیب AND و OR داخل IF کمک می‌کند شرط‌های پیچیده‌تری بسازید؛ مثلاً:

«اگر (نمره حداقل ۱۰ و غیبت حداکثر ۳) باشد یا (نمره حداقل ۱۸) باشد، نتیجه قبول است.»

=IF(OR(AND(B2>=10,C2<=3),B2>=18),"قبول","مردود")

این نوع فرمول‌نویسی وقتی نیاز دارید یک مسیر میان‌بر (مثل «نمره خیلی بالا») تعریف کنید یا چند سناریو را در یک قانون جمع کنید، بسیار مفید است.

IF تو در تو (Nested IF): چند حالت خروجی با چند شرط

وقتی خروجی فقط دو حالت نباشد (مثلاً A/B/C یا عالی/خوب/ضعیف)، معمولاً از IF تو در تو استفاده می‌شود؛ یعنی IF را داخل بخش درست یا غلط IF دیگر قرار می‌دهیم.

مثلاً دسته‌بندی نمره:

=IF(B2>=18,"عالی",IF(B2>=14,"خوب",IF(B2>=10,"قابل قبول","ضعیف")))

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

ترکیب IF با XLOOKUP: تصمیم‌گیری + جستجوی هوشمند

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

مثلاً اگر کد کالا در A2 خالی نبود، قیمت را از جدول قیمت‌ها برگردان، و اگر خالی بود چیزی نمایش نده:

=IF(A2="","",XLOOKUP(A2,Prices[Code],Prices[Price],"یافت نشد"))

به این شکل هم گزارش شما تمیزتر می‌شود (سلول‌های اضافی پر نمی‌شوند) و هم مدیریت خطا و حالت‌های خاص بهتر انجام می‌گیرد.

تابع IFS در اکسل: جایگزین ساده‌تر برای IF تو در تو

تابع IFS برای زمانی طراحی شده که چند شرط پشت سر هم دارید و می‌خواهید به محض درست بودن اولین شرط، همان خروجی را بگیرید. ساختار کلی:

=IFS(condition1, result1, condition2, result2, ...)

مثلاً همان دسته‌بندی نمره را با IFS می‌توان خواناتر نوشت:

=IFS(B2>=18,"عالی",B2>=14,"خوب",B2>=10,"قابل قبول",B2<10,"ضعیف")

مزیت IFS این است که فرمول مرتب‌تر و قابل‌فهم‌تر می‌شود، مخصوصاً وقتی حالت‌ها زیاد است. فقط دقت کنید ترتیب شرط‌ها مهم است؛ چون اکسل از بالا به پایین بررسی می‌کند و با اولین شرط درست متوقف می‌شود.

آنچه در ویدیو گفته ام

سلام. تو این جلسه می‌خوایم راجع به توابع شرطی و منطقی در اکسل صحبت بکنیم و خدمتتون آموزش بدم. توابع ایف و ایفس جزء توابع بسیار مهم در اکسل هستن. شاید به جرأت بتونم بهتون بگم که اگر من خودم بخوام بعد از حدود سال کار کردن تو این نرم‌افزار یک تابه رو انتخاب بکنم که به طور دائم و همیشگی ازش استفاده بکنم و شاید بگم تنها تابعی که با بلد بودنش می‌تونید کارهای بسیار جذابی تو اکسل بکنید تابع ایف هستش این تابع می‌تونه در ترکیب با توابع دیگه بسیار کارای هیجان‌انگیز و جذابی رو براتون تون انجام بده شاید خود تابع بسیار ساده و شسته باشه اما ترکیبش با توابع دیگه می‌تونه بسیار پرکاربرد باشه من پویا حیاتی هستم و با آموزش فرمولنویسی در اکسل همراه من هستید تابع ایف یا حالا فارسیش اگر همونجور که در شکل می‌بینید سینتکسش یا نوشتارش از سه قسمت تشکیل شده این سه قسمت به چه صورت هستن قسمت اول قسمت شرطی این تابع هستش. یعنی ما می‌نویسیم مساوی ایو قسمت شرطمون رو می‌نویسیم. داستان شرط چیه؟ یعنی ما میایم اینجا یه تستی می‌کنیم. به طور مثال آیا این عدد بزرگتر از هستش؟ این مقدار شرطی که ما تستش می‌کنیم جوابش یا ترو هستش یا فالس. ترو میشه درست یا میشه غلط. همونجور که توی جلسه دوم آموزش فرمول‌نویسی راجع به این موضوع صحبت کردیم، نهایتاً جواب قسمت اول تابع ایف ترو یا فالس میشه. یعنی یک چیزی رو ما داریم مقایسه می‌کنیم، داریم تستش می‌کنیم و این تست ما جواب درست یا غلط میده. حالا میاد از ما می‌پرسه که تو قسمت‌های دوم و سوم این تابع ما داریم میگها اگر جواب من درست بود چه کاری برات انجام د بدم اگر جواب شرطی که از من پرسیدی غلط بود چه کاری برات انجام بدم یعنی اون دیگه خیلی براش مهم نیستش که جواب درست و غلطه در هر دو حالت برای ما یه کاری رو انجام میده این ما هستیم که تعیین می‌کنیم اگر شرطمون برقرار بود و درست بود چه کاری انجام بده و اگر برقرار نبود چه کاری انجام بده؟ پس سه قسمت داره. قسمت لاجیکال تست یک مقدار یا عبارت منطقی که می‌تونه ترو و فالس باشه رو ارزیابی می‌کنه. اگر مقدار ما ترو یا درست بود میاد اون دستور شماره یک ما را انجام میده و اگر جواب لاجیکال تستمون یا غلط بود میاد دستور قسمت دوم رو برای ما انجام میده. خب یه چند تا مثال سادهشو اینجا می‌بینید حالا توضیح کامل‌تری هم اینجا اگه داشته باشیم نوشته تابع ایف در اکسل یک تست منطقی انجام می‌دهد و همون توضیحات بالایی که خدمتتون گفتم یک سری محدودیت‌ها و نکات مهم هم داره که اینجا براتون لیست کردم و سعی می‌کنم توی مثالی که براتون می‌زنم همه مواردو خدمتتون توضیح بدم توابع مرتبطش هم اند اور نات و هستش که این سه تا تابع رو من توی جلسه دوم کامل براتون توضیح دادم اگر ندیدید حتماً مراجعه بکنید و توابع دیگها که میتونیم باهاش مرتبط بدونیم ایپس و سوئیچ هستش خب بریم به قسمت مثالی که من میخوام راجع به تابع ایف خدمتتون بزنم من سعی کردم مثال‌های متنوعی رو بزنم خدمتتون که توی هر کدوم بتونم نکات بیشتری رو در استفاده از این تابع خدمتتون یاد بدم خب تو مثال اول من میخوام مقدار ۱۵م رو با مقدار مقایسه بکنم و ببینم نتیجه به من چی میده. میام می‌نویسم مساوی ایف پرانتز باز توی قسمت اول سینتکس نوشتاری میگه لاجیکال تست رو به من بده. یعنی اینکه یه چیزیو میخوای مقایسه بکنی دیگه میگم بله می‌خوام ببینم که آیا مقدار این سلولم بزرگتر از مقدار هستش یا نه. با زدن کاما اگر این قسمت رو دقت بکنید ما میریم توی بخش دوم جواب اون قسمتمون که میگه که اگر من این رو تست کردم مقدار تو بزرگتر از بود و این گزینه درست بود من چه کاریو برات انجام بدم؟ من میام بین دبل کوتنشن مثلاً میام می‌نویسم که اوکی یعنی دارم یه متنی رو میگم برا من چاپ بکنه دوباره یه کاما می‌زنم میگم اگر این اتفاق نیفتاده بود یعنی حالا اینجا مقدار من هستش بزرگتر از هستش و جواب من گزینه فالس بود اینجا بیا مثلاً بزن که نات یه همچین چیزی و پرانتزو می‌بندم مطمئناً تو این قسمت میاد میگه که برا از بزرگتر هستش جواب شما تو روئه و قسمت دوم فرمول رو برای من چاپ می‌کنه و مقدار اوکی رو به من خروجی میده حالا اینجا دوباره اومدم حالا یه ذره جذاب‌ترش کردم اومدم گفتم که اگر بزرگتر از بود بیا چاپ بکن قبول شدی و اگر نبود چاپ بکن رد شدی میام اینجا می‌نویسم مساوی ایف پرانتز باز سلولم و میدم آیا بزرگتر از هستش و داخل دبل کتنشن اول می‌نویسم قبول شدی دبل کوتنشنو می‌بندم اینجوری من بهتون میگم که راحت‌تر یاد بگیرید کاما و قسمت فالسش میگم که رد شدی دوباره دبل کتنشن رو می‌بندم و پرانتزم می‌بندم الان برای من چاپ می‌کنه قبول شدی حالا اگر اینجا بیام مقدار ۱۵مو مثلاً بذارم مقدار میاد اینجا میشه رد شدی یعنی حالا توی این فرمول بزرگتر از نیست جواب من میشه فالس و قسمت سوم رو برای من چاپ می‌کنه و نمایش میده تو مثال دوم من اومدم یه شرطی رو گذاشتم اینجا فکر کنید یه لیستی آدم دارم که گروه a و بی هستن و نمره و داره اومده گفته اگر شخصی نمره نمرهش بالای بود و گروهش A بود انتخابش کن یعنی حالا انتخابش کن مثلاً بیا اینجا بنویس ایکس اگر نبود چیزی ننویس ببینید اینجا عملاً داره د تا شرط رو مقایسه میکنه میگه هم باید گروهشون A باشه و هم باید نمرهشون به بالا باشه اینا رو اگر نگاه کنید جفتشون نمرهشون بالای هستش پس من مجبورم د تا شرط رو با همدیگه اعمال بکنم همونجوری که شما می‌دونید ما برای اعمال دو شرط همزمان زمان که باید د تاش همزمان انجام بشه و ترو باشه باید از تابع اند استفاده کنی میام می‌نویسم مساوی ایف پرانتز باز تو قسمت لاجیکال تست من می‌تونم از فانکشن اند استفاده بکنم پرانتز باز خب توی تابع حالا اندم میگه لاجیکال یکتو بگو یعنی شرط یکت چیه میگم شرط یکم هستش که این سلول مساوی چی باشه مساوی a باشه باشه بین دبل کتنشن کاما می‌زنم اگه نگاه کنید من داخل تابع اند الان دارم کار می‌کنم و الان لاجیک دومو میخواد میگم لاجیک دم چیه این سلول بزرگتر از باشه پرانتز اولو که می‌بندم در اصل دارم پرانتز اند رو می‌بندم یعنی تابع لاجیکمو اولشو بستم کامای بعدی رو که می‌زنم حالا میاد میگه من د تا شرطو چک می‌کنم اگر این ترو بود و این ترو بود جواب این قسمت شروع میشه دیگه حالا برات چیکار کنم میگم بیا چاپ بکن مثلاً ایکس و اگر نبود چاپ کن هیچی یعنی اگه من د تا دبل پوتنشنو پشت سرم بذارم همونجور که تو آموزش قبلی دیدین برای من هیچی رو چاپ می‌کنه الان اینجا برای من ایکس رو چاپ کرد اینو بذارین وسط چین بکنم همین فرمول رو اگر بکشم تا پایین بیارم برای این هیچی رو چاپ می‌کنه چون تو این قسمت بی با آ برابر نیست این فالسه بغلی تروئه فالس و ترو توی قسمت تابع اند به من جواب فالس میده و فالسوم تابه رو برای من کال می‌کنه که قراره برای من هیچی رو چاپ بکنه همین جا اگر ببینید من این بی رم بذارم a ایک چاپ میشه حالا اگر این‌ها رو بذارم مثلاً اینم بذارم هیچ کدوم برای من چاپ نمیشن چون باید د تا شرط برقرار باشه یعنی مثلاً باید آ باشه و آ باشه و اگر من این رو دوباره برم بیش بکنم دوباره برای من هیچی رو این قسمت چاپ می‌کنه. تو مثال سوم دارم یه ذره پیچیده‌ترش می‌کنم و سخت‌ترش می‌کنم از تابع ایف. اومده به من مثال داده گفته ما نفر داریم که تو گروه‌های A و بی و سی هستن و نمره‌هاشونم ۷۹، و گفته بیا برای اون شخص‌هایی که عضو گروه آ یا بی هستند و امتیازشون بالای هست که می‌خوایم انتخابشون کنیم بیا به جاشون ایک رو چاپ بکن. خب بریم ببینیم چیکار باید بکنیم. اولاً ما خود صورت سؤال رو باید کاملاً متوجه بشیم. تا شرط اینجا داره. میگه باید بحث گروه رو ما چک بکنیم و امتیاز بالای امتیاز بالای که با و جدا شده پس من باید از اند استفاده بکنم اما تو این قسمت گفته عضو گروه آ یا بی باشه یعنی من می‌تونم آ با بی رو با اور چک بکنم و جفتشون رو با ان چک بکنم بریم با همدیگه بنویسیم میگم که مساوی ایف پرانتز باز خب ما گفتیم باید د تا شرط داشته باشیم دیگه و با هم باشه اند پرانتز رو باز می‌کنم الان دیگه وارد تابع اند شدم خب اولیش برای اینکه ساده‌تر باشه و گیج نشیم من میام میگم امتیازش بالای باید باشه خب اوکی سلول رو انتخاب می‌کنم و این مقدار باید بالای مقدار باشه اوکی در شرط دوم میگه عضو گروه آ یا بی اوکی پس من اینجا می‌تونم از اور استفاده بکنم پرانتزم رو باز بکنم حالا الان لاجیکهایی که دارم می‌نویسم توی تابع هستش. ببینید همینجوری داریم ما توابعرو تو همدیگه بیشتر استفاده می‌کنیم. میگم خب پس این مساوی آ باشه. شرط اولم و همین می‌تونه مساوی با بی باشه. این پرانتزو که ببندم پرانتز اور رو بستم. د تا شرط برای اور گذاشتم که می‌تونه یا مساوی آ باشه یا مساوی b باشه در هر صورت به من خروجی ترو میده پرانتز بعدیرو که ببندم پرانتز اند رو بستم که کلاً توی لاجیکال تست ایفم و الان اینجا می‌تونم برم تو قسمت بعدی بگم که اگر این شرط‌های من ترو بود بیا ایکس رو چاپ بکن و اگر نبود هیچی رو چاپ بکن یه بار دیگه مرور بکنیم اومدم شرطو گذاشتم کلاً این قسمت همش داخل چیه؟ لاجیک خود ایف هستش که دارم تا شرط یا تا شرطو چک می‌کنم که میگم یا گروه آ بی اوه با اور اومدم جداش کردم و یه دونههم ان گذاشتم که حتماًهم باید نمرهشون بالای باشه من اینتر رو می‌زنم الان برای من هیچی چاپ شد و اگه تا پایین بکشم فقط برای یکیش دوباره اینا رو اگه من وسط چین بکنم فقط برای یکیشون داره این اتفاق میفته یعنی اینکه بی که بالای هستش حالا اینجا رو دقت بکنید من سایزشو بزرگ کنم اگر این رو بذارم مثلاً بی چون نمرهشم بالای اینم ایک میشه اگر این نمره رو بذارم چاپ نمیشه این رو اگر بذارم از بین میره و اینجاهم A دیگه A و بالای و باید بشه دیگه مثلاً این اگه نمرهشو بذارم برای این ایک چاپ می‌کنه یعنی اینجوری داریم ما عملاً شرطامونو کنترل می‌کنیم ببین خود تابعی ایف تابع پیچیده‌ای نیست. میاد یک شرطو چک می‌کنه در صورت درست بودن یه کار و در صورت غلط بودن یه کاررو انجام میده. این ترکیب ایف با توابع دیگهست که به ما قدرت بسیار زیادی رو میده. یک خب بذارین همون فرمول بالا که یه مقدار پیچیده بود براتون رو اینجا براتون ساده بکنم. تیکه تیکه بنویسم و سرهم کردن فرمول‌های پیچیده رو تو این مثال هم خدمتتون یاد بدم. خب ما می‌خواستیم ببینیم که اول گروه A هستش یا بی. یعنی یا گروه A باشه یا بی. میام اینجا توی یه سلول برای خودم می‌نویسم مساوی اور پرانتز باز این سلول من آیا مساوی هستش با مقدار آیا [موسیقی] این مقدار برابر هستش با بی؟ یعنی دارم چک می‌کنم که این مقدار آ هستش یا بی هستش. هر کدوم بود به من جواب ترو یا صحیح رو میده. الان برای این میشه ترو. برای این میشه ترو چون بی هم هستش و رو به ما جواب فالس داد. تو گزینه بعدی می‌خواستیم مقدارمون هم باشه بیشتر از خب دوباره میام اینجا می‌نویسم مساوی این مقدار بزرگتر از خب برای من اینو میده فالس اینو میده ترو و این رو میده ترو خب حالا شرطمون این چی بود که گفتیم هم باید بالای باشه یا جزء گروه a و بی باشه خب ما این دو تا شرطو اینجا نوشتیم حالا میخوایم د تا رو با همدیگه چک بکنیم میگیم مساوی اند پرانتز باز شرط اول چون دیگه خودش داره شرطو چک می‌کنه من فقط مقدارشو میدم دیگه ترو رو بهش میدم و شرط دوم ببین چقدر زیبا شد یعنی وقتی ما تیکه تیکهش کردیم برای این شد فالس دومی میشه ترو و برای سومی هم میشه فالس حالا ایفم رو اینجا می‌نویسم مساوی ایف پرانتز باز اینجا میخوام میخوام شرط بهش بدم دیگه این خودش شرطه دیگه ترو و فالس خودش جواب شرطه یعنی ما می‌تونیم یک لاجیک یا یک منطقی رو بدیم برامون چک بکنه که جواب ترو فالس بده خود ترو فالسم بهش می‌تونیم بدیم پس من اینجا مقدار این سلولرو بهش میدم و اگر درست بود مثلاً میگیم بیا برای ما چاپ بکن ایکس و اگر نبود چاپ بکن مثلاً زد که حالا ببینیم برای هر کدومشون چه اتفاقی میفته الان برای این شد اینا ارم وسط چین بکنم پس برای این شد ز ایک ایک یعنی فقط این الان اوکی شده که چون هم گروه بیه هم مقدارش ۸ه حالا می‌خوام همین فرمول پیچیده‌ای که داشتم رو درست کنم الان این فرمول ایف من چقدر ساده است یعنی هیچی نداره توش اما میخوام همون فرمول پیچیده رو درست بکنم ببینید میام از همین جا شروع می‌کنم الان اینجا من اندو نوشتم گفتم اند من از سی و دی داره می‌گیره خب میام اول توی میگم که خب بیا کلشو بردار گفتیم تا قبل از مساوی رو برمی‌داریم کپی می‌کنیم میایم وارد این فرمولم میشم به جای این گزینه رو می‌ذارم برای دی اینم برمی‌دارم این رو کپی می‌کنم میام داخل این به جای دی ۴۴م می‌ذارم چون داشته از اون فرمول خونده میشده دیگه اینم از این حالا این فرمول گندهه رو چون توی فرمول ایفم دارم از این می‌خونم از اینجا این رو کپی می‌کنم میام وارد فرمول ایف هم میشم به جای ا ۴۴ی که داشته از این می‌خونده می‌ذارم و اگر فرمولمو تا پایین بکشم دوباره داره کار می‌کنه اون فرمول پیچیده رو اومدم از تفکیک بخش‌های مختلفش به سادگی درست کردم اینم میشه روش درست کردن فرمول‌های پیچیده در مثال چهارم می‌خوایم از ایف‌های تو در تو براتون مثال بزنیم. داستان چیه یا مثالمون چیه؟ نفر هستن. نمره‌هاشون ۹، و هستش و می‌خوایم بر اساس شرایطی که اینجا گذاشتیم بیایم بهشون رده‌بندی ضعیف متوسط و خوب بدیم. به چه صورت؟ اگر نمرهش پایین بود بنویسیم ضعیف. اگر بین تا بود بنویسیم متوسط. و بالای بود بنویسیم خوب. یعنی این کار رو تابع ایف برامون بکنه. خب بریم با همدیگه این موضوع رو با همدیگه مثال بزنیم که چهجوری می‌تونیم انجام بدیم. خب من میام برای این می‌نویسم که مساوی ایف پرانتز باز. خب چیو من می‌خوام چک بکنم؟ می‌خوام این سلولم که داخلش مقدار رو چک بکنم. اولین شرطم چیه؟ میگم نمره پایین‌تر از رو باید بنویسی ضعیف. اوکی؟ پس اگر اون سلولی که من بهش دادم کوچک‌تر از مقدار بود باید شرطم تموم میشه چی چی برای من چاپ بکنه بیاد بنویسه ضعیف من دبل کوتنشنم اینجوری میگم می‌بندم خب یه دونه کاما یا ویری گول می‌زنم خب حالا اینجا چه اتفاقی میفته خب اگر این مقدار من کوچک‌تر از بود می‌نویسه ضعیف و تموم میشه داستان اما بعدشی اگر بزرگتر از بود چیکار باید بکنیم؟ ما الان تا تا رو یه مقداری داریم بالای هم یه مقدار دیگه باید به ما بده اینجا ما مجبوریم بیایم از ایو‌های تو در تو استفاده بکنیم یعنی چی؟ یعنی در قسمت اولو نوشتیم، قسمت دومو نوشتیم در فاز سوم حالا البته اینم اینجاهم می‌تونستیم این کارو بکنیم حالا مثال ما اینجا به درد می‌خوره در فاز سوم می‌خوایم یه دونه عملیات بهش بدیم من دوباره می‌تونم اینجا بهش یه ایف دیگه بدم بگم که خب ایف اگر من اومدم و بی۸ بزرگتر از بود من میام تو این قسمت میگم ایف دوباره پرانتزم رو باز می‌کنم همین عدد اگر بین تا بود میگم چی؟ کوچکتر مساوی بود. کاما داستان چیه؟ اینجا اگر کوچک‌تر از بود که میاد ضعیف رو برا ما چاپ می‌کنه. اگر بزرگتر از بود میاد تو این قسمت. حالا چک می‌کنه آیا مقدار من کوچک‌تر مساوی ۱۶ه؟ چون این شرط دیگه برقرار نیست دیگه. پس باید عدد من اگه این رو ترو بکنه یعنی عدد من بین و قرار داره و اگر کوچیک‌تر از بود میاد چی می‌نویسه برای من؟ میاد می‌نویسه متوسط دبل کتنشن رو می‌بندم و خب حالا اینجا چی باید بنویسم؟ یعنی اینکه آقا کوچک‌تر از نبود. کوچیک‌تر مساوی هم نبود. خب پس بزرگتر از میشه دیگه. پس میام توی قسمت سومش میام چاپ می‌کنم. خوب و پرانتز اولم برای ایف دوممه. پرانتز بعدیم برای ایف اصلیمه. و اگر اینتر رو بزنم الان برای من اینو ضعیف چاپ می‌کنه. همین فرمول رو تا پایین بکشم. ضعیف متوسط خوب حالا اینجا عددام عوض می‌کنم که ببینید مثلاً اینو اگه بکنم میشه خوب اینو بکنم مثلاً میشه ضعیف و این رم بکنم مثلاً میشه متوسط ببینید این مدلی که من براتون نوشتم یک مدل حرفه‌ای نوشتم اما بذارین همین رو یه مدل دیگه هم براتون بنویسم که ببینید مدل‌های مختلف میشه نوشت مساوی ایف پرانتز باز فقط این سریع‌تر می‌نویسم. حالا مقدارم کوچیک‌تر از بود. بیا چاپ بکن. ضعیف و انگلیسی و اینجا دوباره میام یه دونه ایف می‌ذارم. پرانتز باز می‌تونم اینجا از تابع اند استفاده بکنم. دوباره داخل پرانتز بگم این مقدارم بزرگتر مساوی و دوباره همین عددم کوچکتر مساوی پرانتز بسته این لاجیکم شد حالا بیا اینجا چاپ بکن چی متوسط و تمام و حالا قسمت بعدی ببینید داستان چیه من اینجا توی حالت دوم اومدم از اند استفاده کردم که اومدم گفتم دقیقاً مثل متنی که من نوشته بودم بیا بین و اگر باشه تو اولی حرفه‌ای‌تر بود و منطقی‌تر بود که اصلاً ما اینو این قسمت رو ننویسیم چون توابعی که ما داریم در اف ایف استفاده می‌کنیم به ترتیب چک میشن یعنی این درسته اینم همون کارو برا ما می‌کنه بالایی هم که نوشتیم همین کارو انجام میده اما داستانی که خب حرفه‌ای نیست ما داریم متن بیشتری رو می‌نویسیم و زحمت بیشتری رو می‌کشیم. چون توابع ایف به ترتیب شرط‌ها رو چک می‌کنن. وقتی کوچیک‌تر از قرار نیست برقرار باشه پس بزرگتر مساوی ۱۰ه دیگه. پس نوشتن این بزرگتر مساوی کاملاً بیهوده است. حالا من دوباره این رو می‌تونم یه دونه ایف دیگه هم حتی اینجا بنویسم که آقا ایف فلان فلان اگه بزرگتر از بود ولی خب اینا دیگه حرفه‌ای نیست. ولی می‌تونید موارد متفاوت رو بنویسید و یواش یواش از تابع ایف استفاده بکنید و تو این نوشتار و سینتکس ایف قوی بشید. در مثال آخری هم که راجع به تابع ایف میخوام خدمتتون بزنم میخوام تابع ایف رو با حالا وی لوکاپ یا ایکس لوکاپ قاطی بکنم سوال ما چیه؟ یه لیستی از محصولاتمون و تعداد موجود در انبارشو داریم مثلاً کتاب تا دفتر تا و چی میخوایم میگیم؟ اسم محصول رو بدیم و در صورتی که تعداد موجودیش کمتر از بود خروجی به ما بده نیاز به خرید یه حالا همچین چیز ساده‌ای رو ما می‌خوایم انجام بدیم میگیم مساویه اینجا بذاریم محصولو بهش بدیم مثلاً محصولمون چیه اسمشو می‌نویسیم اینجا کتاب یعنی کتابو می‌خوایم بهش بدیم بگی آقا نیاز به خرید داری یا نداری میگیم مساوی ایف پرانتز باز توی شرطم من چیکار میخوام بکنم؟ میخوام چک کنم ببینم این تعداد کوچک‌تر است از اون پ تا هست یا نه. اما خب قبلش من اصلاً تعداد این رو که ندارم که پس باید اول تعداد رو بر اساس محصولم بگیرم و بعد بیام با پ مقایسه بکنم. خب برای گرفتن این می‌تونم از حالا من راحت‌تر هستم از ایکس لوکآپ استفاده می‌کنم که توی فکر می‌کنم جلسات بعدی آموزششو می‌بینید. ایکس لوکاپ پرانتز باز میگی دنبال چی می‌گردی؟ میگم دنبال کتاب می‌گردم میگه کجا می‌گردی؟ میگم اینجا بگرد و چی رو به من خروجی بده حالا من بقیه مواردشو چون ایکس لوکاپو الان بلد نیستین انجام نمیدم در همین حد این باعث میشه که بره کتاب رو داخل این جدول من مقادیر من بگرده و معادل اون روبهروشو به من خروجی بده یعنی الان من این کاری که کردم کتاب رو نوشتم به من اینجا تو این قسمت خروجی داده میشه خب همینو میام مقایسه می‌کنم با مقدار خب اگر کمتر بود ببینید بذار اینو برعکس انجام بدم میام این رو مقایسه می‌کنم با بزرگتر از بذار این بزرگتر مساوی بذارم ب دارم اصلا برعکس سؤال الان اینو انجام میدم که ببینید که حتماً نیاز نیست که ما جواب اون تو قسمت دوم باشه میگم اگر این مقدار بزرگتر مساوی پ بود یعنی تعداد محصولات من در انبار بیشتر از تا بود. اینجا بیا چاپ بکن همه چی آرومه و اگر نبود بیا چاپ بکن نیاز به خرید و این رو می‌بندم. خب الان خیلی راحت و زیبا چون کتاب بزرگتر از تا داریم زده همه چی آرومه همین جا اینو بیارم بذارم بنویسم منگنه میگه نیاز به خرید اینجا اگر بنویسم کاغذ میگه همه چی آرومه حالا اینجا مقادیرو اگر عوض بکنم مثلاً اگه کاغذو برم بفروشم و بشه د تا دوباره می‌زنه نیاز به خرید یعنی کاملاً بر اساس مقداری که اینجا شناسایی میشه میاد برای ما شرط رو چک می‌کنه و خروجی میده ببینید تابع ایف رو برای حالا قسمت آخر این گزینه بهتون بگم تابع ایف قدرتش در کار کردن با توابع دیگهست یعنی خود تابع ایف یک شرط ساده رو چک میکنه و در نهایت د تا عمل رو برای ما انجام میده برقرار باشه برقرار نباشه اما با ترکیب توابع دیگه بی‌نهایت ازش می‌تونید امکان بگیرید تابع ایفس یا اگه اگرها این تابع یه جورایی ساده شده تابع ایف هستش و اگر تعداد شرطمون زیاد باشه خب می‌تونیم از تابع ایفس استفاده کنیم. همونجور که توی تابع ایف بهتون آموزش دادم وقتی که ایف‌ها داخل همدیگه میشن یعنی تو در تو میشن یه مقدار کنترلشون و نوشتارشون سخت میشه و شاید مثلاً از د تا یا تا تا به بعد دیگه اعصاب خورد بشه ولی تابع ایس این مشکلو برای ما رفع کرده. سینتکس خیلی ساده‌ای داره می‌نویسیم مساوی ایپس میگه شرطتو بنویس اگر درست بود و ترو بود برات اون دستورالعملی که دادیو انجام میدم دوباره شرطتو بنویس اگر ترو بود دستورالعملی که دادیو انجام میدم و کلاً توابع تابع ایس د تاییه یعنی جفت جفت دستور هستش که اولیش اجباریه از دومیش دیگه اختیاری هستش اما دقت بکنید هر بار که شرطو می‌نویسیم ما باید بهش بگیم اگر تو روب بود چیکار بکن کن و اینو تا هرچقدر که دوست داشتیم می‌تونیم ادامه بدیم. اما یه مشکلی تابع ایپس داره که اگر نگاه بکنیم این در صورتی که ترو باشه یعنی درست باشه دستورالعمل ما رو انجام میده. خب اگر ما مثلاً تا شرط برا گذاشتیم و تا دستورالعمل که در صورتی که درست بود انجام بشود گذاشتیم ولی هیچ کدوم از شروط ما ترو نبود چه اتفاقی میفته؟ و اینجا این هستش که ایپس این رو نمی‌تونه هندل بکنه. یعنی در صورتی که همه شرط‌های من برقرار نباشه به من خطا میده که یک راهحل بسیار ساده داره که ما می‌تونیم جلوی اون خطا رو هم بگیریم. اینجا هم من محدودیت‌های این تابع ایس رو براتون نوشتم که می‌تونید خودتون مطالعه بکنید اما خیلی سریع توابع مرتبطش همون ایف چوز سوئیچ ویلوکاپ و مچ هستش و بریم سراغ مثال‌هایی که با این تابع می‌تونیم بزنیم و جذابیتی که این تابع برامون داره. همون مثال قبلی که با تابع ایف زدیمو اینجا می‌خوایم با تابع ایف بزنیم و ببینیم آیا ساده‌تر هستش یا نه. دقیقاً نمره و و داریم. می‌خوایم و بر اساس نمره‌ بندی بنویسیم ضعیف، متوسط و خوب. خب در این قسمت من میام می‌نویسم مساوی ایکس پرانتز باز. شرط اولم چی؟ میگم؟ خب این مقدارو چک کن. اگر کوچیک‌تر از بود و اگر ترو بود بیا چیو برای من بنویس؟ بیا بنویس ضعیف میرم قسمت شرط دومم ببینید حالا ما گفتیم مثل ایف شرطها دونه دونه و به ترتیب چک میشن خب کوچیک‌تر از نبود این سری میام میگم چیکار کن بیا اینو چک بکن آیا کوچکتر مساوی ۱۶ه و دوباره کاما دوباره بین دبل کتنشن میام می‌نویسم متوسط کاما رو می‌بندم شرط بعدیم همین رو چک کن آیا بزرگتر از ۱۶ه؟ خب ببین الان اینو ما نیازی نبود تو ایف بنویسیم ولی اینجا من مجبورم بنویسم چون این شرط اگر ننویسم اصلاً چیزیو به من جواب نمیده یا می‌تونستم حالا جلوتر بهتون میگم می‌تونستیم از یه شرط دیگه استفاده بکنیم آیا این مقدارش بزرگتر از ۱۶ه؟ مطمئناً خب اگر این کوچیک‌تر مساوی نباشه بخوایم بریم قسمت بعدی خب بزرگتر ۱۶ه ولی من اینجا مجبورم این رو اضافه بکنم پس آ ۱۸آ بزرگتر از هستش و اگر بود بیا چاپ بکن خوب و پرانتزمو می‌بندم پس تا شرط نوشتم و برای هر شرط گفتم که چیو چاپ بکن کوچکتر از به چاپ بکن ضعیف کوچک‌تر مساوی چاپ بکن متوسط تو این قسمت قبلش بزرگتر از شده چون این برای ما جواب نداده و بعدی هم گفتم اگر بزرگتر از هم بود چاپ بکن حالا اینجا بهتون میگم که جلوتر نکته‌ای میگم که شاید اینو اصلاً نیاز نباشه بنویسیم خب الان این خیلی راحت شد ضعیف من فرمولم تا انتها بکشم میزنه ضعیف متوسط خوب خیلی راحتم اینجا من دوباره اگر عددا رو عوض بکنم می‌بینید که همه فرمول داره درست کار می‌کنه و هیچ مشکلی نداره اما اگر اینجا بیایم این مشکلو بخوایم اینجوری برطرف بکنیم یعنی همین فرمولی که من اینجا دارم رو از اینجا کپی می‌کنم میارم اینجا من اینجا عدد رو وارد کردم و عدد خب اصلاً عدد اشتباهیه من نمره‌هام از صفر تا ۲۰ه اینو چهجوری اصلاح بکنم و چهجوری توی این فرمول یه کاری بکنم که بتونه این رو هم بفهمه اینجا دقیقاً اون نکته جذاب تابع تابع ایس رو هم می‌بینید. خب ما اینجا میگیم که آ کوچک‌تر از ضعیف کوچیک‌تر از متوسط. اینجا دیگه نمیام بگم بزرگتر از میگم اگر کوچکتر مساوی بود خوب خب اگر هیچ کدوم از اینا نبود یعنی عدده یا مثلاً حالا منفیشم اونور می‌تونستیم بزنیم. اگه عدد بزرگتر از بود چی؟ خب من اینجا دوباره باید شرط بذارم. به جای شرط می‌تونم بیام چیکار کنم؟ بیام بنویسم ترو. یعنی این همیشه برقراره دیگه. یعنی یه شرطی که همیشه برقراره و دقیقاً اینجوری هندل بکنم که اگر شروط قبلیم هیچ‌کدومشون برقرار نبود چه اتفاقی بیفته؟ می‌نویسم ترو که همیشه برقراره و اگر درست بود چی بیاد چاپ بکن که عدد عددی اشتباه وارد کردهید و یه دونه دبل کوتینشن ببندم و پرانتزم که بسته است و حالا اینتر می‌زنم اینجا ببینید می‌نویسه عددی اشتباه وارد کردید اگه همین عددو من بذارم می‌نویسه خوب بذارم می‌نویسه متوسط نمیدونم بنویسم می‌نویسه ضعیف و دوباره اگر یه عددی بزرگتر از بنویسم می‌نویسه عددی اشتباه که دوباره اگر ملاحظه بفرمایید ما قسمت چهارم رو عملاً اضافه کردیم که هیچ‌کدوم از این‌ها درست نیست و تو گزینه آخر خودمون اصلاً شرط ننوشتیم شرطمون توروئه یعنی همه همیشه اتفاق میافتد و تو رو هستش و چون تو رو هستش و اتفاق میفتد پس این کارو برای من انجام بده خب در مثال بعدی یه سری نمره داریم و بر اساس این جدول گرید بندی می‌خوایم گریدشونو مشخص بکنیم. یعنی فرمول بره عدد ۵۹و تو این جدول سرچ بکنه و چون مثلاً بین صفر تا هستش گرید اف رو به ما خروجی بده. رو بره چک بکنه دوباره اف بده. چون بالای هستش گرید A رو به ما خروجی بده. یعنی با این جدول ما میخوایم عملاً خروجی رو بگیریم. خب جلوتر ما این تابه رو با یعنی این سؤال رو با وی لوکاپ و ایکس لوکاپم میتونیم انجام بدیم اما هدف ما اینجا بوده که با تابع ایفس انجام بدیم خب بریم این رو بنویسیم می‌نویسم مساوی ایس پرانتز باز خب می‌خوام این عددمو چک بکنم دیگه میگم اگر این عددم کوچکتر از بود چیو برای من چاپ کن اف رو برای من چاپ کن و دوباره اگر این عددم کوچک‌تر از بود چیو چاپ بکن این حالا اینجا دیده نمیشه رو چاپ بکن و دوباره اگر این عددم کوچک‌تر از بود مقدار رو چاپ بکن و دوباره همین عدد همون بیا چک کن اگر کوچک‌تر از بود مقدار بی رو برای من چاپ بکن خب و اینجا چی بنویسم اینجا بگم هیچ‌کدوم از اینا نبوده دیگه میام می‌نویسم اگر تو رو بود که همیشه تو رو هست خود تو رو بیا چیو چاپ بکن بیا a رو چاپ بکن و پرانتزمو می‌بندم الان اگر نگاه بکنید من اینو بیارم وسط چینشم بکنم برای چاپ می‌کنه اف اگه همین عددو من بذارم چاپ می‌کنه کنه a فقط نکتهش اینه که من اگه بخوام فرمولو تا انتها بکشم پایین به خاطر اینکه این جدول من ثابت هستش باید حتماً از آدرسدهی مطلق استفاده بکنم یعنی این‌ها رو همه رو با اف بیام مطلقشون بکنم که بتونم فرمولم رو تا پایین بکشم اینها همه رو مطلق میشه حالا دوباره این و حالا می‌تونم فرمولمو تا انتها بکشم م برای هر کدوم از اون عددها داره گرید من رو بر اساس این جدول شناسایی می‌کنه و نمایش میده. خیلی راحتم اگه هر کدومو من عوض بکنم ببینید اینور ح که نداریم ولی مثلاً پس می‌تونم از تابع ایپس برای این گونه کارها هم استفاده بکنم. خب همون طور که دیدین تابع ایف و ایفس کاربردهای بسیار زیادی دارن که تو این ویدیو بهش پرداختیم. توابع اند و اور و نات هم که خدمتتون گفتم توی جلسه دوم راجع بهش صحبت کردیم همین توابع ایف و ایکسو اگر بلد باشیم و کامل یاد گرفته باشیم توی قسمت بعدی ویدیو که راجع به توابع پایه شرطی مینیموم ایفس ماکسیموم ایفس و بقیه موارد مثل سام ایف کانت ایف اوریج ایف این‌ها میخوایم صحبت بکنیم همه این موارد شرطی توی این توابع اضافه میشن و کارهای بسیار جذابی رو می‌تونیم باهاش انجام بدیم. حتماً با من همراه باشید.

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

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

8 − هشت =