اکسل توابع زیادی دارد و علاوه بر توابع آماده، امکان نوشتن تابع در بخش برنامه‌نویسی اکسل به زبان VBA نیز فراهم شده است. در کنار استفاده از ماکروها و بخش برنامه‌نویسی می‌توانید از تابع LAMBDA در اکسل استفاده کنید و به کمک آن، تابع دلخواه بسازید! شاید کار با تابع LAMBDA در نگاه اول به نظر عجیب و پیچیده باشد اما با مرور کردن چند مثال ساده، متوجه می‌شوید که استفاده از آن ساده است و در عین کار کاربرد آن بسته به پروژه و هدف شما از کار با Excel، زیاد است.

در ادامه مطلب با تابع LAMBDA در نرم‌افزار Excel آشنا می‌شویم و با مثال‌های ساده،‌ شیوه استفاده از این تابع را توضیح می‌دهیم.

تابع LAMBDA در کدام نسخه اکسل در دسترس است؟

قبل از اینکه فرمولی با استفاده از تابع LAMBDA بنویسید، دقت کنید که این تابع در Excel for Microsoft 365 برای ویندوز و مک‌او‌اس و همین‌طور Excel 2024 و نسخه تحت وب اکسل در دسترس است اما در اکسل 2019 و نسخه‌های قبلی آن چنین تابعی وجود ندارد! 

در اکسل 2019 و نسخه‌های قبلی آن برای ایجاد تابع سفارشی می‌توانید از برنامه‌نویسی اکسل که به زبانی شبیه به ویژوآل بیسیک است، استفاده کنید که البته نیاز به طی کردن دوره آموزشی برنامه‌نویسی VBA دارد.

سینتکس تابع LAMBDA در اکسل

تابع LAMBDA مثل هر تابع دیگری، ورود و خروجی دارد. ورودی آن می‌تواند حداکثر 253 متغیر باشد! آرگومان اول تابع LAMBDA همان ورودی است. آرگومان دوم نیز محاسبه‌ای است که با استفاده از ورودی‌ها انجام می‌شود. بنابراین سینتکس تابع LAMBDA به صورت زیر است:

=LAMBDA(x,y)

در این فرمول ساده، x ورودی است و y محاسبات است.

با یک مثال ساده از کاربرد تابع LAMBDA شروع می‌کنیم: فرض کنید که می‌خواهید دو ورودی a و b به تابع LAMBDA بدهید و خروجی تابع، حاصلضرب ۲ ورودی باشد. البته این محاسبه بسیار ساده است و نیازی به تابع سفارشی ندارد. می‌توانید فرمول بنویسید و از علامت در اکسل برای محاسبات ساده مثل جمع و تفریق و ضرب و تقسیم استفاده کنید. هدف ما توضیح روش ایجاد تابع به کمک LAMBDA است.

برای نوشتن تابع کاستوم موردبحث، در سلول A1 عبارت زیر را وارد کنید:

=LAMBDA(a,b,a*b)

a و b ورودی‌ها و فرمول موردنظر، ضرب a در b است.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

در پایان کلید Enter‌ را بزنید، اکسل ارور #CALC! در سلول A1 نمایش می‌دهد و علت این است که برای متغیرهایی به اسم a و b، مقدار مشخص نکرده‌اید.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

برای مشخص کردن مقدار و تست کردن عملکرد تابع LAMBDA روی سلول A1 دبل‌کلیک کنید. فرضاً اگر بخواهید ۴ و ۶ ورودی‌های تابع باشد، این دو عدد را به صورت جدا و داخل پرانتز وارد کنید. به عبارت دیگر در پایان فرمول، (4,6) را اضافه کنید.

=LAMBDA(a,b,a*b)(4,6)

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

با زدن کلید Enter ارور #CALC! در اکسل برطرف می‌شود و حاصل‌ضرب دو ورودی نمایش داده می‌شود.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

فرمولی که برای ضرب کردن دو عدد در اکسل با تابع LAMBDA نوشته شده، به نظر عجیب و بسیار طولانی است. اما اگر برای تابعی که به کمک LAMBDA می‌سازید، نام کوتاه انتخاب کنید، فرمول‌های طولانی کوتاه و ساده می‌شود و مزیت تابع LAMBDA روشن می‌شود.

اما روش نام‌گذاری تابع ساخته شده به کمک تابع LAMBDA در Excel:

روی سلولی که فرمول تابع LAMBDA را برای تست کردن نوشته‌اید، دبل‌کلیک کنید و بخش مربوط به فرمول را انتخاب کنید. در مثال ساده‌ای که توضیح دادیم، بخش LAMBDA(a,b,a*b) را انتخاب کنید و با کلید میانبر Ctrl + C آن را کپی کنید.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

اکنون در بالای صفحه روی تب Formula کلیک کنید. سپس در گروه Defined Names روی Define Name کلیک کنید.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

پنجره‌ی تعریف کردن نام ظاهر می‌شود. در این پنجره ۴ کادر موجود است:

  • در کادر اول نام تابعی که با استفاده از LAMBDA می‌سازید را وارد کنید.
  • در کادر دوم محدوده‌ی استفاده از تابع را مشخص کنید. اگر قرار است تابع در همه شیت‌ها قابل استفاده باشد، Workbook را انتخاب کنید و در غیر این صورت شیت موردنظر را انتخاب کنید.
  • در کادر Comment توضیح و کامنت دلخواه در مورد عملکرد تابع بنویسید. این توضیح به شکل تول‌تیپ یا متن راهنما در زمان مکث کردن روی تابعی سفارشی شما نمایش داده می‌شود.
  • در کادر Refers To علامت = بزنید و سپس فرمولی که با تابع LAMBDA نوشته‌اید را پیست کنید.

ما در این مثال ساده نام تابع سفارشی را SIMPLELAMBDA گذاشته‌ایم. در پایان روی OK کلیک کنید تا تابع جدید و سفارشی شما ثبت شود.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

اکنون به سلول A1 برگردید، روی آن دبل‌کلیک کنید و اولین حروف تابع اختصاصی ساخته شده را وارد کنید تا در لیست توابع پیشنهادی ظاهر شود. با مکث کردن روی تابع ساخته شده، توضیحاتی که حین ثبت تابع وارد کرده بودید، نمایش داده می‌شود.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

روی تابع ساخته شده با LAMBDA دبل‌کلیک کنید و داخل پرانتز متغیرها یا ورودی‌های تابع را وارد کنید. به عنوان مثال برای ضرب کردن عدد ۹ در ۶ به کمک تابع اختصاصی مثال ما که نام آن SIMPLELAMBDA است، فرمول زیر در سلول A1 ثبت می‌شود:

=SIMPLELAMBDA(9,6)

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

با زدن کلید Enter نتیجه نمایش داده می‌شود.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

در توابعی که با استفاده از تابع LAMBDA ساخته می‌شود، امکان استفاده از سلول‌ها به عنوان ورودی نیز وجود دارد. به عنوان مثال برای ضرب کردن مقدار سلول A1 و A2 می‌توان فرمول زیر را نوشت:

=SIMPLELAMBDA(A1,A2)

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

مثال پیشرفته استفاده از تابع LAMBDA در اکسل

مثالی که بررسی کردیم، ضرب کردن دو عدد بود که بسیار ساده است و نیازی به ساخت تابع خاص وجود ندارد اما اگر محاسبات طولانی‌تر و پیچیده‌تر باشد، مزیت استفاده از تابع سفارشی اهمیت پیدا می‌کند. فرض کنید که قیمت اجناس مشخص است و می‌خواهید قیمت اجناس را ۲۰ درصد افزایش دهید و در صورت تغییر شرایط اقتصادی، عدد ۲۰ درصد را کم و بیش تغییر دهید. برای این افزایش می‌توان یک تابع به کمک LAMBDA ایجاد کرد.

در جدول زیر ستون B قیمت اجناس است:

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

با ضرب کردن قیمت‌ها در 1.2، افزایش ۲۰ درصدی محاسبه می‌شود. لذا فرمول ساده‌ای برای ستون C و سلول C2 در نظر می‌گیریم:

=B2*1.2

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

برای ساخت تابع سفارشی به کمک LAMBDA، تابعی به صورت زیر تعریف می‌کنیم که آرگومان اول قیمت است و محاسبه‌ی موردنظر، قیمت ضربدر 1.2 است:

=LAMBDA(cost,cost*1.2)

همان‌طور که پیش‌تر اشاره کردیم، اگر این فرمول را مستقیماً در سلول‌های ستون C ثبت کنید و Enter را فشار دهید، طبعاً ارور #CALC! ظاهر می‌شود.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

برای رفع ارور باید ورودی تابع را مشخص کنید، به عنوان مثال برای سلول C2 فرمول موردنظر به صورت زیر است که در آن سلول B2‌ ورودی تابع است:

=LAMBDA(cost,cost*1.2)(B2)

می‌توانید همین فرمول را در سلول‌های بعدی کپی و پیست کنید یا با روش درگ کردن مربع کوچک گوشه پایین و راست سلول، فرمول را در سلول‌های بعدی کپی کنید. نتیجه جدول زیر است:

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

اما سراغ ساخت تابع به کمک LAMBDA برویم، برای این کار از تب Formulas گزینه‌ی Define Name را انتخاب کنید. فرمول را در کادر Refers to پیست کنید و نام دلخواهی برای تابع در کادر Name وارد کنید. ما در این مثال از نام AddVAT استفاده می‌کنیم. در پایان روی OK کلیک کنید.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

اکنون فرمول سلول C2 به شکل ساده‌تری تبدیل می‌شود، روی این سلول دبل‌کلیک کنید. با استفاده از تابع تعریف شده و B2‌ به عنوان ورودی تابع، فرمول به شکل زیر ساده می‌شود:

=AddVAT(B2)

اگر در اکسل جدول ساخته باشید، می‌توانید به جای اشاره به سلول B2، به نام ستون که Cost است، نیز اشاره کنید و از فرمول زیر استفاده کنید:

=AddVAT([@Cost])

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

و اما تغییر دادن درصد افزایش قیمت‌ها:

فرض کنید که قرار است به جای ۲۰ درصد، ۱۵ درصد افزایش اعمال شود. برای تغییر دادن درصد و اصلاح فرمول تابع ساخته شده به کمک LAMBDA روی تب Formulas در نوار ابزار بالای صفحه کلیک کنید. سپس روی Name Manager کلیک کنید.

در پنجره‌ی باز شده لیستی از جدول‌های ساخته شده در اکسل و همین‌طور لیستی از توابع ساخته شده به کمک تابع LAMBDA نمایش داده می‌شود. روی تابع موردنظر کلیک کنید و سپس روی Edit کلیک کنید.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

در کادر Refers to فرمول جدید را وارد کنید. در مثال ما به جای 1.2 از 1.15 استفاده می‌شود که به معنی افزایش ۱۵ درصدی قیمت‌ها است. با کلیک روی OK ، تابعی که به کمک LAMBDA ساخته شده، تغییر می‌کند و به راحتی تمام محاسبات قبلی، تصحیح می‌شود.

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

نتیجه‌ی تغییر دادن تابع ساخته شده به کمک LAMBDA را در جدول زیر مشاهده می‌کنید:

آموزش ساخت تابع سفارشی به کمک تابع LAMBDA در اکسل

مثال دوم ما نیز نسبتاً ساده است و در واقع برای روشن شدن مزیت و کاربرد تابع LAMBDA از ۲ مثال ساده و کاربردی استفاده کردیم. می‌توانید با استفاده از تابع LAMBDA در اکسل 2024 و نسخه‌های جدیدتر، توابع سفارشی پیچیده و طولانی بسازید و به جای نوشتن فرمول‌های پیچیده در سلول‌ها، فرمول‌های کوتاه و ساده بنویسید. در صورت نیاز به تغییر فرمول و روش محاسبات نیز فقط تابعی که با استفاده از LAMBDA ساخته شده، تغییر می‌کند و نیازی به ویرایش کردن فرمول در سلول‌های مختلف وجود ندارد. 

در پایان یادآوری می‌کنیم که تابع ساخته شده به کمک LAMBDA در شیت انتخاب شده یا فایل اکسل انتخاب شده عمل می‌کند. برای انتقال تابع به فایل‌های جدید، می‌توانید از فایل قبلی کپی بگیرید و آن را ویرایش کنید و همین‌طور می‌توانید فایلی که در آن تابع ساخته‌اید را به عنوان قالب و تمپلیت ذخیره کنید و برای کارهای بعدی از آن استفاده کنید.