A یک فرمول از پیش تعیین شده در Excel و Google Sheets است که برای انجام محاسبات خاص در سلولی که در آن قرار دارد در نظر گرفته شده است.
اطلاعات این مقاله برای Excel 2019، Excel 2016، Excel 2013 و Google Sheets اعمال می شود.
نحو و آرگومان های تابع
سینتکس یک تابع به چیدمان تابع اشاره دارد و شامل نام تابع، براکت ها، جداکننده های کاما و آرگومان ها است. مانند همه فرمول ها، توابع با علامت مساوی شروع می شوند (=) و سپس نام تابع و آرگومان های آن:
- نام تابع به اکسل می گوید که چه محاسباتی را انجام دهد.
- آگومانها در داخل پرانتز یا براکتهای گرد قرار دارند و به تابع میگویند از چه دادههایی در آن محاسبات استفاده کند.
برای مثال، یکی از توابع پر استفاده در Excel و Google Sheets تابع SUM است:
=مجموع (D1: D6)
در این مثال:
- این نام به اکسل می گوید که داده ها را در سلول های انتخاب شده با هم جمع کند.
- آگومان (D1:D6) محتویات محدوده سلولی D1 را به D6 اضافه می کند.
تابع
توابع تودرتو در فرمول
کاربرد توابع داخلی اکسل را می توان با قرار دادن یک یا چند تابع در داخل تابع دیگر در یک فرمول افزایش داد. تأثیر توابع تودرتو این است که به محاسبات متعدد اجازه میدهد در یک سلول کاربرگ واحد انجام شوند.
برای انجام این کار، تابع تودرتو به عنوان یکی از آرگومان های اصلی یا بیرونی ترین تابع عمل می کند. به عنوان مثال، در فرمول زیر، تابع SUM در داخل تابع ROUND قرار گرفته است.
=گرد (جمع (D1: D6)، 2)
هنگام ارزیابی توابع تو در تو، اکسل ابتدا عمیق ترین یا درونی ترین تابع را اجرا می کند و سپس به سمت بیرون حرکت می کند. در نتیجه، فرمول بالا اکنون خواهد بود:
- مجموع مقادیر را در سلول های D1 تا D6 بیابید.
- این نتیجه را به دو رقم اعشار گرد کنید.
از سال 2007 اکسل، حداکثر 64 سطح توابع تودرتو مجاز بوده است. در نسخههای قبلی، هفت سطح توابع تودرتو مجاز بود.
کاربرگ در مقابل توابع سفارشی
دو دسته از توابع در Excel و Google Sheets وجود دارد:
- توابع کاربرگ
- توابع سفارشی یا تعریف شده توسط کاربر
توابع
کاربرگ آنهایی هستند که در برنامه تعبیه شده است، مانند توابع SUM و ROUND که در بالا مورد بحث قرار گرفت. از سوی دیگر، توابع سفارشی، توابعی هستند که توسط کاربر نوشته یا تعریف شده است.
در اکسل، توابع سفارشی به زبان برنامه نویسی داخلی نوشته می شوند: Visual Basic for Applications یا به اختصار VBA. توابع با استفاده از ویرایشگر ویژوال بیسیک که با اکسل نصب شده است ایجاد می شوند.
عملکردهای سفارشی کاربرگنگار Google در Apps Script ، شکلی از جاوا اسکریپت، نوشته میشوند و با استفاده از ویرایشگر اسکریپت واقع در زیر Tools ایجاد میشوند.منو.
توابع سفارشی معمولاً، اما نه همیشه، نوعی از ورودی داده را می پذیرند و نتیجه را در سلولی که در آن قرار دارد برمی گرداند.
در زیر نمونه ای از یک تابع تعریف شده توسط کاربر است که تخفیف های خریدار را که با کد VBA نوشته شده محاسبه می کند. توابع اصلی تعریف شده توسط کاربر، یا UDFs، در وب سایت مایکروسافت منتشر شده است:
تابع تخفیف(تعداد، قیمت)
اگر مقدار >=100 سپس
تخفیف=مقدارقیمت0.1
دیگر
تخفیف=0
End If
Discount=Application. Round(Discount, 2)End Function
محدودیت
در اکسل، توابع تعریف شده توسط کاربر فقط می توانند مقادیر را به سلول(هایی) که در آن قرار دارند برگردانند. آنها نمی توانند دستوراتی را اجرا کنند که محیط عملیاتی اکسل را تغییر می دهد، مانند تغییر محتویات یا قالب بندی یک سلول.
پایگاه دانش مایکروسافت محدودیت های زیر را برای توابع تعریف شده توسط کاربر فهرست می کند:
- درج، حذف یا قالببندی سلولها در یک کاربرگ.
- تغییر مقدار داده در سلول دیگر.
- انتقال، تغییر نام، حذف، یا افزودن برگهها به کتاب کار.
- تغییر هر گونه گزینه محیطی، مانند حالت محاسبه یا نماهای صفحه.
- تنظیم خصوصیات یا اجرای اکثر متدها.
توابع تعریف شده کاربر در مقابل ماکروها در اکسل
در حالی که Google Sheets در حال حاضر از آنها پشتیبانی نمیکند، در اکسل، ماکروها مجموعهای از مراحل ضبطشده هستند که وظایف کاربرگ تکراری را خودکار میکنند. نمونههایی از کارهایی که میتوانند خودکار شوند عبارتند از قالببندی داده یا عملیات کپی و جایگذاری.
اگرچه هر دو از زبان برنامه نویسی VBA مایکروسافت استفاده می کنند، از دو جنبه متفاوت هستند:
- UDF ها محاسبات را انجام می دهند، در حالی که ماکروها اقداماتی را انجام می دهند. همانطور که در بالا ذکر شد، UDF ها نمی توانند عملیاتی را انجام دهند که بر محیط برنامه تاثیر می گذارد، در حالی که ماکروها می توانند.
-
در پنجره ویرایشگر ویژوال بیسیک، این دو را می توان متمایز کرد زیرا:
UDF ها با یک عبارت Function شروع می شوند و با End Function خاتمه می یابند..
- ماکروها با عبارت Sub شروع می شوند و با End Sub پایان می یابند.