در محیطاکسل، یک تابع(Function) یک فرمول از پیش تعریفشده است که محاسبات ریاضی، آماری، منطقی، متنی، یا عملیات مبتنی بر داده را با استفاده از مقادیر ورودی مشخص (آرگومانها) انجام میدهد و نتیجهای واحد را بازمیگرداند.
به بیان فنیتر، توابع، روالهای فرعی (Subroutines) یا ماژولهای کد نرمافزاری هستند که برای سادهسازی محاسبات پیچیده و افزایش کارایی طراحی شدهاند. کاربر با فراخوانی نام تابع و ارائه ورودیهای ضروری، بدون نیاز به نوشتن الگوریتم پایه، از خروجی آن بهرهمند میشود.
اهداف اصلی طراحی و بکارگیری توابع در اکسل عبارتند از:
- سادهسازی: جایگزینی برای فرمولهای طولانی و پیچیده. به عنوان مثال، محاسبه مجموع یک محدوده با تابع `SUM` به جای استفاده از عملگر `+` برای هر سلول.
- استانداردسازی: اطمینان از اینکه محاسبات خاص (مانند محاسبه استهلاک دارایی یا پرداخت وام) بهصورت یکنواخت و صحیح در سراسر جهان انجام میشود.
- افزایش قابلیت اطمینان: کاهش خطاهای ناشی از نوشتن دستی فرمولها.
- افزایش کارایی: صرفهجویی در زمان و تلاش کاربر برای انجام عملیات تکراری و پیچیده.
- قدرت بخشیدن به تحلیل داده: امکان انجام تحلیلهای پیشرفته آماری، مالی و مهندسی را برای کاربران غیر-programmer فراهم میکنند.
دستهبندی کلان توابع (بر اساس حوزه کاربرد)
توابع اکسل در دستههای عملیاتی متعددی گروهبندی میشوند که مهمترین آنها عبارتند از:
| دسته توابع | هدف اصلی | مثالهای شاخص |
| ریاضی و مثلثاتی | انجام عملیات پایه ریاضی و محاسبات مثلثاتی. | SUM, AVERAGE, ROUND, SQRT, SIN |
| متنی (Text) | مدیریت، تجزیه و تحلیل و ترکیب رشتههای متنی. | LEFT, RIGHT, MID, CONCAT, LEN, TRIM |
| منطقی (Logical) | انجام تستهای شرطی و بازگرداندن مقادیر بر اساس درستی یا نادرستی آن تستها. | IF, AND, OR, NOT, IFERROR |
| تاريخ و زمان | کار با مقادیر تاریخ و زمان، استخراج اجزاء و انجام محاسبات زمانی. | TODAY, NOW, YEAR, MONTH, DAY, DATE |
| جستجو و مرجع | جستجوی یک مقدار در یک محدوده و بازگرداندن یک مقدار مرتبط از موقعیت دیگر. | VLOOKUP, XLOOKUP, INDEX, MATCH, HLOOKUP |
| آمارى | انجام تحلیلهای آماری از توصیفی تا استنباطی. | COUNT, COUNTA, MIN, MAX, MEDIAN, MODE.SNGL |
| مالی | محاسبات مربوط به امور مالی، سرمایهگذاری و حسابداری. | PMT (محاسبه اقساط وام), FV (ارزش آتی), NPV (ارزش خالص فعلی) |
| پایگاه دادهای | انجام عملیات شبیه به SQL بر روی لیستهای دادهای در اکسل. | DSUM, DAVERAGE, DCOUNT (این توابع از یک "شرط" برای فیلتر کردن دادهها استفاده میکنند) |
| اطلاعاتی (Information) | بازگرداندن اطلاعات درباره نوع داده یا وضعیت یک سلول. | ISNUMBER, ISTEXT, ISBLANK, CELL |
تابع `IF` یک تابع منطقی (Logical) است که امکان اجرای شرطی محاسبات و عملیات را فراهم میکند. این تابع امکان تصمیمگیری بر اساس آزمون یک شرط و تعیین خروجیهای متفاوت را به کاربر میدهد.
IF(logical_test, [value_if_true], [value_if_false])=
توضیح اجزاء:
- logical_test` (آزمون منطقی): این آرگومان، شرط یا معیاری است که میخواهید ارزیابی شود. این شرط باید به یک ارزش TRUE (درست) یا FALSE (نادرست) ارزیابی شود.
- value_if_true` (مقدار در صورت درستی): مقداری است که در صورت TRUE بودن نتیجه `logical_test`، توسط تابع بازگردانده میشود. این مقدار میتواند یک عدد، متن، تاریخ، یک فرمول دیگر یا حتی یک تابع دیگر باشد.
- value_if_false` (مقدار در صورت نادرستی): مقداری است که در صورت FALSE بودن نتیجه `logical_test`، توسط تابع بازگردانده میشود. این آرگومت نیز اختیاری است، اما حذف آن میتواند منجر به نمایش `FALSE` در سلول شود که معمولاً مطلوب نیست.
کاربرد تابع IF در حوزه مالی و حقوق و دستمزد
در محاسبات پیچیده مالی، بسیاری از مقادیر به شرایط خاصی وابسته هستند. تابع `IF` ابزاری ضروری برای مدلسازی این شرایط است. در حوزه حقوق و دستمزد، از این تابع برای موارد زیر استفاده گستردهای میشود:
- محاسبه اضافه کاری
- تعیین و محاسبه پاداش (Bonus) یا عیدی
- تعیین معافیت مالیاتی یا محاسبه مالیات پلکانی
- تعیین حق مسکن، خواربار و سایر مزایای شرطی