فهرست مطالب
این آموزش نحوه ایجاد چند عبارت IF را در اکسل با AND و همچنین منطق OR نشان می دهد. همچنین، شما یاد خواهید گرفت که چگونه از IF همراه با سایر توابع اکسل استفاده کنید.
در قسمت اول آموزش Excel IF، ما به نحوه ساخت یک دستور IF ساده با یک شرط برای متن نگاه کردیم. اعداد، تاریخ، جاهای خالی و غیر خالی. با این حال، برای تجزیه و تحلیل داده های قدرتمند، ممکن است اغلب نیاز به ارزیابی چندین شرایط در یک زمان داشته باشید. مثالهای فرمول زیر مؤثرترین راههای انجام این کار را به شما نشان میدهند.
نحوه استفاده از تابع IF با شرایط متعدد
در اصل، دو نوع از فرمول IF با معیارهای متعدد بر اساس منطق AND / OR . در نتیجه، در آزمون منطقی فرمول IF خود، باید از یکی از این توابع استفاده کنید:
- AND - اگر همه شرایط وجود داشته باشند، TRUE را برمیگرداند. FALSE در غیر این صورت.
- عملکرد OR - اگر هر شرطی برآورده شود، TRUE را برمی گرداند. در غیر این صورت نادرست است.
برای نشان دادن بهتر موضوع، اجازه دهید چند مثال از فرمول های واقعی را بررسی کنیم.
عبارت Excel IF با شرایط چندگانه (AND منطق)
فرمول عمومی Excel IF با دو یا چند شرط این است:
IF(AND( condition1, condition2,…), value_if_true, value_if_false)ترجمه شده به انسان زبان، فرمول می گوید: اگر شرط 1 درست است و شرط 2 درست است، برگردید value_if_true ; else return value_if_false .
فرض کنید شما جدولی دارید که نمرات دو تست را در ستون های B و C فهرست می کند. برای قبولی در امتحان نهایی، دانش آموز باید هر دو نمره بالاتر از 50 داشته باشد.
برای تست منطقی، از عبارت AND زیر استفاده میکنید: AND(B2>50, C2>50)
اگر هر دو شرط درست باشند، فرمول "Pass" را برمیگرداند. اگر هر شرطی نادرست است - "شکست".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
آسان، اینطور نیست؟ اسکرین شات زیر ثابت می کند که فرمول Excel IF /AND ما درست کار می کند:
به روشی مشابه، می توانید از تابع Excel IF با چندین شرایط متن استفاده کنید.
برای به عنوان مثال، برای خروجی "خوب" اگر B2 و C2 هر دو بزرگتر از 50 باشند، "بد" در غیر این صورت، فرمول این است:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
نکته مهم! تابع AND همه شرایط را بررسی می کند، حتی اگر مورد(های) آزمایش شده قبلی به FALSE ارزیابی شده باشد. چنین رفتاری کمی غیرعادی است زیرا در بیشتر زبان های برنامه نویسی، اگر هر یک از تست های قبلی FALSE را برگرداند، شرایط بعدی آزمایش نمی شوند.
در عمل، یک دستور IF به ظاهر صحیح ممکن است به این دلیل منجر به خطا شود. اختصاصی. به عنوان مثال، فرمول زیر #DIV/0 را برمی گرداند! (خطای "تقسیم بر صفر") اگر سلول A2 برابر با 0 باشد:
=IF(AND(A20, (1/A2)>0.5),"Good", "Bad")
از این کار اجتناب کنید، باید از یک تابع IF تودرتو استفاده کنید:
=IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")
برای اطلاعات بیشتر، لطفاً فرمول IF و را در اکسل ببینید.
عملکرد Excel IF با چندگانهشرایط (منطق OR)
برای انجام یک کار اگر هر شرطی برآورده شد، در غیر این صورت کار دیگری انجام دهید، از این ترکیب توابع IF و OR استفاده کنید:
IF(OR( condition1 ، condition2 ، …)، value_if_true، value_if_false)تفاوت با فرمول IF / AND که در بالا توضیح داده شد این است که اکسل اگر هر یک از شرایط مشخص شده درست باشد، TRUE را برمی گرداند.
بنابراین، اگر در فرمول قبلی، از OR به جای AND استفاده کنیم:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
آنگاه هرکسی که بیش از 50 امتیاز در هر یک از امتحانات داشته باشد، "گذر" را دریافت می کند. ستون D. با چنین شرایطی، دانشآموزان ما شانس بیشتری برای قبولی در امتحان نهایی دارند (ایویت به خصوص بدشانس است که فقط با 1 امتیاز مردود میشود :)
نکته. در صورتی که یک یک دستور IF چندگانه با متن ایجاد میکنید و یک مقدار را در یک سلول با منطق OR آزمایش میکنید (یعنی یک سلول میتواند "این" یا "آن" باشد)، سپس میتوانید فشردهتر بسازید. فرمول با استفاده از یک ثابت آرایه.
برای مثال، برای علامت گذاری فروش به عنوان "بسته" اگر سلول B2 "تحویل" یا "پرداخت شده" باشد، فرمول این است:
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
نمونههای فرمول بیشتری را میتوانید در تابع Excel IF OR پیدا کنید.
IF با چند AND & دستورات OR
اگر وظیفه شما نیاز به ارزیابی چندین مجموعه از شرایط چندگانه دارد، باید از هر دو AND و & توابع OR در یک زمان.
در جدول نمونه ما، فرض کنید معیارهای زیر را برای بررسی نتایج امتحان دارید:
- شرط 1:exam1>50 and exam2>50
- شرط 2: exam1>40 و exam2>60
در صورت وجود هر یک از شرایط، امتحان نهایی قبول شده تلقی می شود.
در نگاه اول، فرمول کمی مشکل به نظر می رسد، اما در واقع اینطور نیست! شما فقط هر یک از شرایط بالا را به عنوان یک دستور AND بیان کنید و آنها را در تابع OR قرار دهید (از آنجایی که نیازی به رعایت هر دو شرط نیست، کافی است):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
سپس، از آن استفاده کنید. تابع OR برای تست منطقی IF و مقادیر دلخواه value_if_true و value_if_false را ارائه می کند. در نتیجه، فرمول IF زیر را با چند شرایط AND / OR دریافت میکنید:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
تصویر صفحه زیر نشان میدهد که ما فرمول را به درستی انجام دادهایم:
به طور طبیعی ، شما محدود به استفاده از دو تابع AND/OR در فرمول های IF خود نیستید. شما می توانید هر تعداد از آنها را که منطق کسب و کار شما نیاز دارد استفاده کنید، مشروط بر اینکه:
- در اکسل 2007 و بالاتر، بیش از 255 آرگومان نداشته باشید و طول کل فرمول IF از آن تجاوز نکند. 8192 کاراکتر.
- در Excel 2003 و پایین تر، بیش از 30 آرگومان وجود ندارد و طول کل فرمول IF شما از 1024 کاراکتر تجاوز نمی کند.
عبارت IF تودرتو به تست های منطقی متعدد را بررسی کنید
اگر می خواهید چندین تست منطقی را در یک فرمول ارزیابی کنید، می توانید چندین تابع را یکی در دیگری قرار دهید. چنین توابعی تو در تو نامیده می شوندتوابع IF . زمانی که میخواهید مقادیر متفاوتی را بسته به نتایج آزمونهای منطقی برگردانید، بسیار مفید هستند.
در اینجا یک مثال معمولی وجود دارد: فرض کنید میخواهید دستاوردهای دانشآموزان را به عنوان " خوب " تعیین کنید. " رضایت بخش " و " ضعیف " بر اساس نمرات زیر:
- خوب: 60 یا بیشتر (>=60)
- رضایت بخش: بین 40 تا 60 (>40 و>60)
- ضعیف: 40 یا کمتر (<=40)
قبل از نوشتن فرمول، ترتیب را در نظر بگیرید از توابعی که می خواهید لانه کنید. اکسل تست های منطقی را به ترتیبی که در فرمول ظاهر می شوند ارزیابی می کند. هنگامی که یک شرط به TRUE ارزیابی می شود، شرایط بعدی آزمایش نمی شود، به این معنی که فرمول پس از اولین نتیجه TRUE متوقف می شود.
در مورد ما، توابع از بزرگترین به کوچکترین مرتب شده اند:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
به طور طبیعی، در صورت نیاز می توانید توابع بیشتری را در خود جای دهید (تا 64 در نسخه های مدرن).
برای اطلاعات بیشتر، لطفاً به نحوه استفاده از چند دستور IF تو در تو در اکسل مراجعه کنید.
فرمول آرایه IF Excel با شرایط چندگانه
روشی دیگر برای دریافت یک Excel IF برای آزمایش شرایط چندگانه با استفاده از فرمول آرایه است.
برای ارزیابی شرایط با منطق AND، از ستاره استفاده کنید:
IF( شرط1 ) * ( شرط2 ) * …، value_if_true، value_if_false)برای آزمایش شرایط با منطق OR، از علامت مثبت استفاده کنید:
IF( شرط1 ) + ( شرایط2 ) + …,value_if_true, value_if_false)برای تکمیل صحیح فرمول آرایه، کلیدهای Ctrl + Shift + Enter را با هم فشار دهید. در اکسل 365 و اکسل 2021، به دلیل پشتیبانی از آرایه های پویا، این نیز به عنوان یک فرمول معمولی کار می کند.
به عنوان مثال، برای دریافت "Pass" اگر B2 و C2 هر دو بزرگتر از 50 باشند، فرمول به صورت زیر است:
=IF((B2>50) * (C2>50), "Pass", "Fail")
در اکسل 365 من، یک فرمول معمولی به خوبی کار می کند (همانطور که در تصاویر بالا می بینید). در اکسل 2019 و نسخه های پایین تر، به یاد داشته باشید که با استفاده از میانبر Ctrl + Shift + Enter، آن را به فرمول آرایه تبدیل کنید.
برای ارزیابی شرایط چندگانه با منطق OR، فرمول این است:
=IF((B2>50) + (C2>50), "Pass", "Fail")
استفاده از IF همراه با توابع دیگر
این بخش نحوه استفاده از IF را در ترکیب با سایر توابع اکسل توضیح می دهد و این کار چه مزایایی برای شما دارد.
مثال 1. اگر #N /یک خطا در VLOOKUP
وقتی VLOOKUP یا تابع جستجوی دیگر نمی تواند چیزی را پیدا کند، یک خطای #N/A برمی گرداند. برای اینکه جداول خود زیباتر به نظر برسند، میتوانید در صورت #N/A متن صفر، خالی یا خاص را برگردانید. برای این، از این فرمول عمومی استفاده کنید:
IF(ISNA(VLOOKUP(…))، value_if_na ، VLOOKUP(…))به عنوان مثال:
اگر #N/ بازگشت 0:
اگر مقدار جستجو در E1 یافت نشد، فرمول صفر را برمی گرداند.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
اگر #N/A خالی برگرداند:
اگر مقدار جستجو پیدا نشد، فرمول چیزی را برمی گرداند (یک رشته خالی).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
اگر #N/A متن خاصی را برگرداند:
اگر مقدار جستجو یافت نشد،فرمول متن خاصی را برمی گرداند.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
برای نمونه های بیشتر فرمول، لطفاً VLOOKUP با دستور IF در اکسل را ببینید.
مثال 2. IF با SUM، AVERAGE، MIN و MAX توابع
برای جمع کردن مقادیر سلول بر اساس معیارهای خاص، اکسل توابع SUMIF و SUMIFS را ارائه می دهد.
در برخی شرایط، منطق کسب و کار شما ممکن است نیاز به گنجاندن تابع SUM در آزمون منطقی IF داشته باشد. به عنوان مثال، برای برگرداندن برچسب های متنی مختلف بسته به مجموع مقادیر در B2 و C2، فرمول این است:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
اگر مجموع بیشتر از 130 باشد، نتیجه "خوب" است. "؛ اگر بزرگتر از 110 باشد - "رضایت بخش"، اگر 110 یا کمتر - "ضعیف".
به روشی مشابه، می توانید تابع AVERAGE را در آزمون منطقی IF قرار دهید و برچسب های مختلف را بر اساس میانگین امتیاز بازگردانید. :
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
با فرض اینکه نمره کل در ستون D باشد، می توانید با کمک توابع MAX و MIN بالاترین و کمترین مقدار را شناسایی کنید:
=IF(D2=MAX($D$2:$D$10), "Best result", "")
=IF(D2=MAX($D$2:$D$10), "Best result", "")
برای داشتن هر دو برچسب در یک ستون، توابع بالا را در یک ستون قرار دهید:
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
به همین ترتیب، می توانید از IF به همراه سفارشی خود استفاده کنید توابع. به عنوان مثال، می توانید آن را با GetCellColor یا GetCellFontColor ترکیب کنید تا نتایج متفاوتی را بر اساس رنگ سلول به دست آورید.
علاوه بر این، اکسل تعدادی توابع برای محاسبه داده ها بر اساس شرایط ارائه می دهد. برای مثال های فرمول دقیق، لطفا موارد زیر را بررسی کنیدآموزش ها:
- COUNTIF - تعداد سلول هایی که دارای یک شرط هستند
- COUNTIFS - شمارش سلول ها با معیارهای متعدد
- SUMIF - سلول های جمع مشروط
- SUMIFS - مجموع سلول ها با معیارهای متعدد
مثال 3. IF با ISNUMBER، ISTEXT و ISBLANK
برای شناسایی متن، اعداد و سلول های خالی، مایکروسافت اکسل توابع ویژه ای مانند ISTEXT، ISNUMBER ارائه می کند. و ISBLANK. با قرار دادن آنها در تست های منطقی سه دستور IF تو در تو، می توانید همه انواع داده های مختلف را به صورت یکجا شناسایی کنید:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
مثال 4. IF و CONCATENATE
به نتیجه IF و مقداری متن را در یک سلول خارج کنید، از توابع CONCATENATE یا CONCAT (در اکسل 2016 - 365) و IF با هم استفاده کنید. به عنوان مثال:
=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
با نگاهی به اسکرین شات زیر، به سختی نیاز به توضیحی در مورد عملکرد فرمول ندارید:
IF ISERROR / فرمول ایسنا در اکسل
نسخه های مدرن اکسل دارای توابع ویژه ای برای به دام انداختن خطاها و جایگزینی آنها با محاسبه یا مقدار از پیش تعریف شده دیگری - IFERROR (در اکسل 2007 به بعد) و IFNA (در اکسل 2013 به بعد) هستند. در نسخههای قبلی اکسل، میتوانید به جای آن از ترکیبهای IF ISERROR و IF ISNA استفاده کنید.
تفاوت این است که IFERROR و ISERROR همه خطاهای اکسل ممکن را کنترل میکنند، از جمله #VALUE!، #N/A، #NAME؟، #REF!، #NUM!، #DIV/0!، و #NULL!. در حالی که IFNA و ایسنا فقط در خطاهای #N/A تخصص دارند.
به عنوان مثال، بهخطای "تقسیم بر صفر" (#DIV/0!) را با متن سفارشی خود جایگزین کنید، می توانید از فرمول زیر استفاده کنید:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
و این تمام چیزی است که در مورد استفاده از تابع IF در اکسل. از خواندن شما سپاسگزارم و امیدوارم هفته آینده شما را در وبلاگ خود ببینم!
کتاب کار برای دانلود تمرین کنید
Excel IF معیارهای چندگانه - مثالها (فایل xlsx.)
<3 <3 <3 3 3> 3>