چه باید بدانیم
- تابع IF برای انجام یک آزمایش منطقی استفاده می شود، یعنی اینکه آیا چیزی درست است یا نه.
- نحو تابع IF و آرگومان ها =IF (تست_منطقی، value_if_true، [value_if_false]) هستند.
- برای مثال =IF(A2>A3، "بزرگتر"، "کوچکتر").
این مقاله نحوه استفاده از تابع IF برای انجام آزمایش منطقی همه نسخههای اکسل، از جمله اکسل 2019 و مایکروسافت 365 را توضیح میدهد. چندین مثال مشخص شده است.
تابع IF چیست؟
تابع IF در اکسل برای انجام یک تست منطقی استفاده می شود. فرمولی که از این تابع استفاده می کند عبارت IF یا if/then نیز نامیده می شود.
همه فرمول هایی که از این تابع استفاده می کنند می توانند یکی از دو نتیجه را داشته باشند. روش کار، همانطور که در مثال های زیر خواهیم دید، این است که فرمول برای آزمایش درست بودن چیزی تنظیم شده است. اگر درست باشد، یک چیز اتفاق می افتد، اما اگر نادرست باشد، چیز دیگری اتفاق می افتد.
تابع IF یکی از چندین توابع منطقی است که می توانید در اکسل استفاده کنید. موارد دیگر عبارتند از AND، IFERROR، IFS، NOT و OR.
IF Function Syntax & Arguments
هر فرمولی که از تابع IF استفاده می کند چند بخش دارد:
=IF(تست_منطقی, value_if_true, [value_if_false])
- آزمون_منطقی: شرایطی که در حال آزمایش هستید. لازم است.
- value_if_true: اگر آزمون منطقی درست باشد چه اتفاقی باید بیفتد. لازم است.
- value_if_false: اگر logical_test نادرست باشد چه اتفاقی باید بیفتد. اختیاری است.
نوشتن یک عبارت Excel IF آسان است اگر آن را کمی متفاوت بخوانید: اگر قسمت اول درست است، پس این کار را انجام دهید. اگر قسمت اول نادرست است، به جای آن این کار را انجام دهید.
این قوانین را در نظر داشته باشید:
- Excel FALSE را اگر logical_test نادرست باشد و value_if_false حذف شود، FALSE برمیگرداند.
- برای برگرداندن متن بهعنوان value_if_true یا value_if_false، باید اطراف آن را با گیومه احاطه کرد، به استثنای کلمات TRUE و FALSE.
- عملکرد IF به حروف بزرگ و کوچک حساس نیست.
- Excel 2010 و جدیدتر اجازه می دهد تا 64 عبارت IF در یک فرمول وجود داشته باشد. نسخه های قدیمی اکسل به هفت نسخه محدود شده است.
مثالهای تابع IF
در اینجا چند روش مختلف برای استفاده از فرمول های IF در اکسل آورده شده است:
نوشتن متن اگر عبارت درست است
=IF(A2>A3، "بزرگتر"، "کوچکتر")
این یک مثال واقعاً اساسی از عبارت IF در اکسل است. آزمایش برای این است که ببینیم آیا A2 بزرگتر از A3 است یا خیر. اگر هست، بزرگتر بنویسید، در غیر این صورت کوچکتر بنویسید.
اگر عبارت درست است ریاضی را انجام دهید
=IF(A2>A3, A2-A3)
این عبارت IF کمی متفاوت نوشته شده است. به جای اینکه نتیجه value_if_true یک کلمه باشد، یک مقدار را از مقدار دیگر کم می کند. بنابراین، اگر A2 در واقع بزرگتر از A3 باشد، تفاوت نتیجه خواهد بود. اگر درست نباشد، چون قسمت value_if_false را حذف کردهایم، اکسل FALSE را برمیگرداند.
گزاره را با ریاضی آزمایش کنید
=IF(A2/A3=5, A2/A3, "")
روش دیگری برای نوشتن دستور IF این است که در بخش logical_test محاسباتی انجام دهید. شرط IF در اینجا A2/A3=5 است. اگر درست باشد، محاسبه A2/A3 را انجام می دهیم. اگر برابر با 5 نباشد، میخواهیم نتیجه هیچ باشد، بنابراین از نقلقولهای دوتایی استفاده میکنیم.
تست اگر قراری امروز است
=IF(A2=TODAY()، "این امروز است"، "")
سایر توابع اکسل را می توان در یک دستور IF استفاده کرد. در این مثال، ما از تابع TODAY برای بررسی اینکه آیا A2 تاریخ امروز است استفاده میکنیم. اگر اینطور باشد، فرمول مینویسد This is today، در غیر این صورت چیزی نوشته نمیشود.
استفاده از و با فرمول IF
=IF(E2<=TODAY(), "Now", "Soon")
=IF(AND(F2="Now", D2>=(B2-C2))، "بله"، "خیر")
این مثال از تابع IF کمی بیشتر درگیر است. ایده در اینجا این است که ببینیم آیا کالایی که به آن بدهکاریم سررسید شده است یا خیر، و اگر چنین است، میبینیم که آیا آن مبلغ در بودجه ما هست یا نه تا بتوانیم آن را پرداخت کنیم. اگر هر دوی این عبارات درست باشند، میتوانیم در ستون G ببینیم که آیا زمان پرداخت آن فرا رسیده است.
IF(E2<=TODAY(), "Now", "Soon") در ستون فوریت است. با مقایسه تاریخ سررسید با تاریخ امروز، به ما می گوید که آیا کالا به تاخیر افتاده است یا امروز سررسید است. اگر تاریخ سررسید امروز یا گذشته باشد، Now در ستون F نوشته می شود، در غیر این صورت Soon می نویسیم.
دستورالعمل دوم IF همچنان مانند یک دستور IF ساختار یافته است، حتی اگر AND در آن استفاده شود. قسمت پررنگ در اینجا جایی است که تابع AND قرار دارد، و از آنجایی که در اولین مجموعه کاما قرار دارد، این همان چیزی است که ما به عنوان logical_test استفاده می کنیم:
=IF(AND(F2="Now", D2>=(B2-C2))، "بله"، "نه")
در اینجا متفاوت نوشته شده است تا نشان دهد که دقیقاً مانند سایر دستورات IF است:
=اگر(این و تابع را آزمایش کنید ، بنویسید Yes اگر درست است، یا نه بنویسیداگر نادرست است)
در تابع AND دو دستور IF وجود دارد:
- F2="Now" بخشی از فرمول های ستون G است. بررسی می کند که Now در F2 است یا خیر.
- D2>=(B2-C2) دو بخش دارد: ابتدا محاسبه B2-C2 را انجام می دهد تا ببیند چقدر برای پرداخت باقی مانده است و سپس آن را انجام می دهد. بودجه موجود در D2 را بررسی می کند تا ببیند آیا پولی برای پرداخت آن داریم یا خیر.
بنابراین، اگر اکنون پول بدهکاریم، و بودجه لازم برای پرداخت آن را داریم، به ما گفته می شود که بله، وقت آن رسیده است که کالا را پرداخت کنیم.
نمونههای بیانیه IF تودرتو
عبارات IF تودرتو زمانی به آن گفته می شود که بیش از یک دستور IF در فرمول گنجانده شود. تنظیمات تقریباً یکسان است، اما به جای بستن پرانتز در پایان مجموعه اول، یک کاما قرار داده و یک عبارت دیگر می نویسیم.
دو عبارت IF در یک فرمول
=IF(B2="F"، "Class A"، IF(B2="M"، "Class B"))
این مثال اول برای دستهبندی دانشآموزان بر اساس جنسیت استفاده میشود، جایی که به دختران کلاس A و مردان کلاس B اختصاص داده میشود. فرمول F و M را در B2 بررسی میکند و سپس بسته به عبارت، کلاس A یا کلاس B را مینویسد. این درست است.
تعداد پرانتزهایی که در انتهای فرمول با توابع IF تو در تو نیاز دارید، همان تعداد دفعاتی است که IF نوشته شده است. در مثال ما، IF دو بار نوشته شده است، بنابراین در پایان به دو پرانتز نیاز داریم.
سه بیانیه IF در یک فرمول
=IF(A2=TODAY()، "این امروز است"، IF(A2TODAY()، "تاریخ آینده")))
در اینجا مثالی از یک فرمول با چند دستور IF آورده شده است. این مشابه مثال امروزی بالا است اما با یک تست منطقی دیگر:
- اولین مجموعه بررسی می کند که آیا A2 تاریخ امروز است یا نه و اگر اینطور باشد امروز است.
- دوم آزمایش می کند که آیا امروز بزرگتر از A2 است تا تعیین کند که آیا A2 تاریخ قدیمی تری است یا نه، و اگر تاریخ قدیمی است را برمی گرداند.
- در نهایت، آزمایشی وجود دارد که ببیند آیا تاریخ امروز کمتر از تاریخ A2 است یا نه، و اگر اینطور باشد، فرمول تاریخ آینده را برمی گرداند.
کپی قیمت در صورت نادرست بودن اظهارات
=IF(C2="بیل"، ""، IF(C2="غذا"، "،"، B2))
در این مثال نهایی فرمول IF تو در تو، باید به سرعت کل کل خریدهایی را که در دسته خاصی قرار نمی گیرند، شناسایی کنیم. ما در حال جمع آوری تمام خریدهای غیر ضروری خود هستیم و با یک لیست طولانی، این بهترین راه برای انجام آن است. ما تشخیص دادهایم که هر توضیح موردی که میگوید صورتحساب یا غذا مهم است، بنابراین قیمت، در B2، باید برای همه موارد دیگر نشان داده شود.
این چیزی است که اتفاق می افتد:
- C2="Bill", "": اگر C2 می گوید Bill، سلول را خالی بگذارید.
- C2="غذا"، "": اگر C2 می گوید غذا، سلول را خالی بگذارید.
- B2: اگر هر یک از این عبارات نادرست است، آنچه را در B2 است بنویسید.
چیزی که این فرمول در اختیار ما قرار می دهد لیستی از قیمت هاست که می توانیم با تابع SUM جمع آوری کنیم تا به سرعت میزان پولی که برای اقلامی که به آنها نیاز نداشتیم خرج شده است را ارزیابی کنیم.
روش سادهتر برای نوشتن عبارات IF تو در تو
همانطور که بیشتر و بیشتر در فرمول ایجاد می کنید، ممکن است به سرعت غیرقابل مدیریت شود و بعداً ویرایش آن سخت شود. یکی از راههای سادهتر کردن کار با دستورات IF تودرتو این است که بعد از هر دستور یک خط شکسته قرار دهید، مانند این:
=
IF(A2=TODAY(), "This is today",
IF(A2<TODAY(), "تاریخ قدیمی"،
IF(A2IF(A2>TODAY()، "تاریخ آینده")))
برای انجام این کار در اکسل، باید از نوار فرمول ویرایش کنید:
- نوار فرمول را در بالای اکسل انتخاب کنید.
- ماوس را در زیر فضای متن قرار دهید تا مکان نما به یک فلش دو طرفه تغییر کند، و سپس برای ایجاد فضای کاری بیشتر، کادر را به پایین کلیک کرده و بکشید.
- مکان نما را بعد از علامت مساوی قرار دهید و Alt+Enter (ویندوز) یا Ctrl+Option+Enter (Mac) را فشار دهید. این بقیه فرمول را در یک خط جدید قرار می دهد.
-
مرحله 3 را قبل از هر دستور IF تکرار کنید تا هر نمونه در خط خودش قرار گیرد.