عملیات منطقی یعنی با استفاده از توابع شرطی نظیر NOT، یا (OR)، و (AND) و یا IF رابطهای تعریف کنید.
اگر محاسبات سلولی نیاز به عملیات منطقی دارد، استفاده از توابع منطقی اکسل تنها انتخاب شماست که در ادامه کاربردشان را شرح میدهم.
تابع IF
IF تابعی است که همانند دیگر توابع پرانتزی باز و بسته دارد که بین این دو پرانتز پارامترهای ورودی آن قرار میگیرند.IF برحسب درست یا غلط بودن گزارهی ورودی خود، یک یا صفر را به عنوان خروجی برمیگرداند. مفاهیمی که ذکر شد را در ذهن داشته باشید. در ادامه از آنها استفاده میشود. میتوان از IF به صورت پیچیدهتری استفاده کرد. ساختار کلی تابع IF به شکل زیر است:
IF(گزاره اگر شرط غلط باشد,گزاره اگر شرط درست باشد,شرط)
اگر عبارت شرط درست باشد، "گزاره اگر شرط درست باشد" و در غیر این صورت، "گزاره اگر شرط غلط باشد" اجرا میشود. دستتان برای نوشتن شرط باز است. مثلا عبارات A1C16 یا "D5="alpha ، میتوانند پارامتر اول IF باشند.
به عنوان مثالی از IF فرض کنید صفحهی اکسلی داریم که ستون E آن، تعدادی عدد است. برحسب این که کدام عدد از 1600 بیشتر است و کدام عدد کمتر، میخواهیم در تقاطع همان سطر و ستون F به ترتیب true یا false نمایش داده شود. برای شکل در خانهیF2 کلیلک کرده و مقابل fx در بالای صفحه می نویسیم
خانهی F2 را در خانههای هم ستونش paste میکنیم تا برای آن سلولها هم مطابق این رابطه عمل شود.
اگر کمی برنامهنویسی کار کرده باشید، میدانید که با ترکیب AND,OR,IF و دیگر توابع میتوان عبارات پیچیدهتری نوشت.
تابع NOT:
خروجی تابع نات زمانی که گزارهی داخل آن غلط باشد، یک میشود. در برنامه نویسی و گاها در اکسل نیاز دارید بدانید چه زمانی عبارت غلط است که این تابع راهگشا است.
تابع AND:
اگر کل گزارههای ورودی AND برقرار باشند (همگی درست باشند)، خروجی معتبر (درست یا true) خواهد بود و در غیر این صورت (غلط یا false) برمیگرداند.ساختار کلی AND به صورت زیر است:
=AND(شرط2,شرط1,... )
واضح است که تعداد پارامترهای آن میتواند به دلخواه زیاد باشد.
در صفحهی اکسلی مطابق شکل میخواهیم دانش آموزانی که SAT آنها بین 1050 و 1950 است، مشخص شوند. به این منظور در ستون F این دانشآموزان کلمهی TRUE و برای بقیهی دانشآموزان، FAlSE نمایش بدهیم. بنابراین برای ستون F جلوی عبارت fx مینویسیم
=AND(E2>1050, E2<1950)
نتیجهای که پس از زدن Enter نمایش داده میشود.
میتوان تابع کاربردیتری نوشت
=AND(E2>1050, E2<1950, D2=”Wisconsin”)
در این حالت جلوی اسم دانش آموزانی که اهل Wisconsin هستند و SAT آنها بین 1050 و 1950 است، TRUE نوشته میشود.
تابع OR:
یکی دیگر از توابع منطقی OR است که اگر بین گزارههای ورودی خود حداقل یکی درست باشد خروجی خود را TRUE (صحیح یا معتبر) میکند. مانند AND تعداد پارامترهای ورودی میتواند زیاد باشد. ساختار کلی به فرم است
=OR(شرط2,شرط1,....)
فرض کنید در ستونF تابع زیر را نوشتهایم:
=OR(D2="Minnesota", D2="Wisconsin", D2="Iowa", D2="Nebraska", D2="Missouri", D2="North Dakota", D2="South Dakota", D2="Indiana", D2="Michigan", D2="Ohio", D2="Illinois", D2="Kansas")
در این صورت تنها سطرهایی از ستون F مقدار TRUE میگیرند که ستون D آنها یکی از شهرهای فوق باشد.
اکسل 2013 تابع دیگری دارد که شبیه OR عمل می کند و نام آن XOR (اکسکولوسیو اُر) است. اگر تعداد پارامترهای ورودی XOR که درست هستند زوج باشد، خروجی XOR صفر و در غیر این صورت یک است.
ترکیب توابع IF, NOT, AND و OR:
همانطور که قبلاً هم گفتم نمیتوان بدون ترکیب توابع، عبارات قدرتمند و روابط کاربردی نوشت. شاید در ابتدا نوشتن تابعی ترکیبی امری پیچیده به نظر آید. امّا آنقدر هم سخت نیست. تابع ترکیبی
=OR(AND(D2="California", E2>1950), AND(D2="Oregon", AND(E2>1050, E2<1950)), AND(OR(D2="Washington", D2="Nevada"), E2<1050))
OR ای است که از سه قسمت تشکیل شده است.
AND(D2="California", E2>1950)
AND(D2="Oregon", AND(E2>1050, E2<1950))
AND(OR(D2="Washington", D2="Nevada"), E2<1050)
اولین AND ساختاری ساده دارد. دومین AND اگر دانشآموز اهل Oregon باشد و SAT او بین 1050 و 1950 باشد خروجی درست برمیگرداند. سومین AND هنگامی که دانشآموز اهل Washington یا Nevada باشد و SAT او کمتر از 1050 باشد خروجی TRUE برمیگرداند. حال چون هر سه AND فوق در یک ساختار OR قرار گرفتهاند اگر یکی از آنها صحیح برگردانند، در ستون F مربوطه مقدار TRUE نوشته میشود و در غیر این صورت FALSE میشود.
نتیجهی تابع ترکیبی را در شکل زیر ببینید.
به نظرتان بهتر نیست کمی خلاقانه فکر کنید و با ترکیب توابع شرطهایی کاربردی مطابق مسئلهی خود تعریف کنید؟
اینتوتک
به نظر من که اکسل اگه خوب استفاده بشه، دست کمی از MATLAB نداره! البته تو سبک و سیاق خودش نه حل معادله دیفرانسل غیر خطی!
من تا حالا اکسل رو با این امکانات نمیشناختم،این جوری واسه کارای روتین خیلی خوبه حیف که الان عادت کردیم به متلب و فرترن وگرنه گزینه بدی واسه یادگیری نبود!