آموزش تابع LAMBDA جدیدترین تابع اکسل

آموزش تابع LAMBDA جدیدترین تابع اکسل

تابع LAMBDA در اکسل

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

اخیرا اکسل در نسخه Insider یا Beta آفیس ۳۶۵ تابعی به نام LAMBDA اضافه کرده است که میتوان از آن به عنوان انقلابی در ایجاد فرمول در اکسل نام برد.

این تابع در حقیقت به شما اجازه می دهد در محیط اکسل و بدون هیچ گونه برنامه نویسی توابع اختصاصی خودتان رو تولید کرده و از آن براحتی استفاده کنید.

همانطور که در تصویر زیر مشاهده میکنید در قسمت اول تابع می توانید متغیر های خود را تعریف کرده و در ادامه محاسبات اختصاصی خود را فرمول نویسی کنید

سپس بعد از بستن پرانتز به راحتی میتوانید متغیرهایی که داخل پرانتز تعریف کرده اید را تایپ کنید یا به سلولهای مشخصی ارجاع دهید.

How the LAMBDA function works

همچنین از این تابع در قسمت نامگذاری نیز میتوانید استفاده کنید تا سپس با فراخوانی نام مورد نظر به راحتی هرچه تمام تر از آن استفاده کنید.

شاید در نگاه اول به نظر شما این تابع چندان کاربردی نداشته باشد اما وقتی از این تابع استفاده کنید متوجه قدرت بینظیر و کاربرد فوق العاده آن خواهید شد.

فرمول های اکسل پرکاربردترین زبان برنامه نویسی در جهان هستند اما در این میان ایجاد یک تابع اختصاصی توسط کاربر در این محیط از قلم افتاده بود که با ساخت تابع LAMBDA این محدودیت برطرف شد.

LAMBDA=

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

تا قبل ازین اکسل به شما امکان تعریف توابع سفارشی را می داد ، اما این کار فقط از طریق تعریف آن در زبان متفاوتی مانند JavaScript یا VBA امکان پذیر بود.

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

بنابراین محدودیتی در توان شما برای استفاده از این تابع وجود ندارد.

افرادی که دارای سابقه آشنایی با علوم کامپیوتر هستند ، احتمالاً قبلاً با مفهوم لامبدا در سایر زبان های برنامه نویسی آشنا هستند.

تابع اختصاصی قابل استفاده مجدد

با LAMBDA می توانید فرمولی را که در اکسل ساخته اید بردارید و آن را در یک تابع LAMBDA قرار دهید و به آن یک نام دهید (مانند “MYFUNCTION”).

سپس در هرجای کاربرگ خود می توانید به MYFUNCTION ارجاع داده و از آن تابع سفارشی در کل فایل خود استفاده مجدد کنید. نمونه هایی را در ادامه خواهید دید.

بازگشتی (RECURSION)

عملکرد قابلیت استفاده مجدد این تابع دلیل کافی برای شروع استفاده از LAMBDA است ، اما این تابع همچنین امکان ارجاع به خود را دارد.

اگر به عنوان مثال LAMBDA به نام MYFUNCTION ایجاد کنید ، می توانید در تعریف MYFUNCTION به MYFUNCTION ارجاع دهید و آن را فراخوانی کنید.

این چیزی است که قبلاً فقط در اکسل از طریق کدنویسی(مانند VBA / JavaScript) امکان پذیر بود.

همچنین در ادامه مثالهایی میزنیم که قبلا فقط از طریق برنامه نویسی امکان پذیر بود.

توابع سفارشی قابل استفاده مجدد

یکی از بخشهای چالش برانگیز کار با فرمولها در اکسل این است که شما اغلب فرمولهای نسبتاً پیچیده ای دریافت می کنید که بارها و بارها دوباره استفاده می شود (اغلب فقط با کپی / چسباندن).

این مسئله می تواند خواندن و فهم این فرمولها را برای دیگران سخت کند و شما را بیشتر در معرض خطر خطاهای احتمالی قرار داده و یافتن و رفع خطاها را مشکل کند.

با استفاده از LAMBDA ، شما از قابلیت استفاده مجدد و ترکیب فرمولها برخوردار هستید.

برای هر منطقی که قصد دارید چندین بار استفاده کنید ، میتوانید تابعی را در محیط اکسل تعریف کنید و خطر خطاها را کاهش دهید.

شناسه های هر مرکز

به عنوان مثال ، فرض کنید من لیستی از کدهای هر مرکز را دارم و میخوام نام مرکز را از داخل این کدها استخراج کنم.

StationID_1.png

روش های زیادی برای انجام این کار با توابع اکسل وجود دارد ، در اینجا نحوه انجام این کار آورده شده است (مطمئنا بسیاری از شما روش های بسیار کارآمدتری برای انجام این کار دارید و احتمالا به من تابع LET را پیشنهاد میدهید اما اینجا هدف نشان دادن عملکرد تابع LAMBDA هست.)

=LEFT(RIGHT(B18,LEN(B18)-FIND("-",B18)),FIND("-",RIGHT(B18,LEN(B18)-FIND("-",B18)))-1)

اگر این فرمول را بنویسیم و برای کل ستون کپی کنیم می توانیم نتیجه نشان داده شده در جدول بالا را بدست آوریم.

اما این رویکرد دو چالش دارد:

  • خطاها – اگر در فرمول خود خطایی پیدا کنم که باید آن را برطرف کنم ، مجبورم دوباره برگردم و آن را در هر کجا که استفاده شده تغییر بدم و ممکنه بعضی از فرمولها رو فراموش کنم اصلاح کنم.
  • علاوه بر این ، وقتی فرمولهای پیچیده ای را تکرار کنید که بارها و بارها تکرار شده و سپس به آنها مراجعه کنید ،احتمال خطا بیشتر است.
  • به عنوان مثال ، برخی از شناسه های مرکز وجود دارد که شبیه این “۱۰۵۵۳۲-۸۷۲۳۳۲-WA-73” هستند و فرمول ما برای آنها عمل نمی کند.
  • اگر این خطا را پیدا کردم و بخواهم آن را برطرف کنم ، باید به هر خانه ای که از آن فرمول استفاده کرده ام برگردم و آن را به روز کنم.
  • قابلیت انعطاف پذیری / خوانایی – اگر من نویسنده اصلی فرمولها نباشم، خیلی سخته که بفهمم هدف از این فرمول (استخراج مرکز) چیست؟
  • استفاده از این فرمول در ترکیب با با فرمولهای دیگر نیز دشوار است ، مثلا اینکه اگر بخواهیم شناسه استخراج شده در فرمول فوق را مستقیما در ویلوکاپ بگذارم فرمول ما طولانی خواهد شد.

با استفاده از LAMBDA می توانیم تابعی به نام GETLOCATION ایجاد کنیم و منطق فرمول را در تعریف آن تابع قرار دهیم.

=LAMBDA(stationID, LEFT(RIGHT(stationID,LEN(stationID)-FIND("-",stationID)),FIND("-",RIGHT(stationID,LEN(stationID)-FIND("-",stationID)))-1))

توجه داشته باشید وقتی آرگومان های تابع ساخته شده (در این مورد stationID) و عملیاتی که تابع باید انجام دهد را مشخص کردیم

آن را در قسمت نامگذاری وارد کردیم، اکنون در فایل خود ، می توانیم به سادگی GETLOCATION را به عنوان یک فرمول بنویسم و به سلول دارای stationID ارجاع دهیم ، دقیقاً مانند سایر توابع Excel.

اگر دیدید که خطایی رخ داده است ، آن را یک جا برطرف می کنید و هر کجا که از این تابع استفاده کرده باشید خطای آن رفع خواهد شد.

تابع LAMBDA

یکی دیگر از مزایای اضافه شده ، این است که اکنون می توانیم آن تابع را درون توابع دیگر استفاده کنیم.

به عنوان مثال ، اگر یک جدول از نرخ مالیات برای هر مرکز داشته باشیم ، می توانیم این فرمول ساده را بنویسیم تا نرخ را بر اساس stationID استخراج کنیم.

=XLOOKUP(GETLOCATION(B18), table1[locations], table1[tax]).
محمود بنی اسدی (مدیر سایت)

فارغ التحصیل کارشناسی ارشد حسابداری، ده سال سابقه تدریس اکسل در سطوح مختلف از قبیل فرمول نویسی، ابزارهای هوش تجاری، ترفندها و ... ، نویسنده شش مقاله در سطح ملی و ISI

مطالب مرتبط

نقد و بررسی‌ها

نظر: