ممکن است به این باور ادامه دهید که نوشتن فرمولهای رمزی در Google Sheets اجتنابناپذیر است تا زمانی که LET را امتحان کنید. وقتی حتی چند فرمول LET بنویسید که از توابع تو در تو عمیق، جستجوهای تکراری و مراجع سلولی پراکنده در سراسر صفحه آزاد باشند، توجیه یک رویکرد دیگر سخت میشود. در واقع میتوانم بگویم که رد کردن استفاده از LET همانند بازگشت به یک تلفن ساده پس از سالها استفاده از گوشی هوشمند است، بهجز اینکه در اینجا هیچ مزیتی برای عقبگرد وجود ندارد.
ممکن است باور کنید که نوشتن فرمولهای رمزآلود در Google Sheets تا زمانی که LET را امتحان کنید، غیرقابل اجتناب است. پس از نوشتن حتی تعدادی از فرمولهای LET، آزاد از توابع تو در تو عمیق، جستجوهای تکراری و ارجاعهای سلولی پراکنده در سراسر صفحه، توجیه هر رویکرد دیگری دشوار میشود. در واقع میتوان گفت که امتناع از استفاده از LET تقریباً شبیه بازگشت به یک تلفن ساده پس از سالها استفاده از گوشی هوشمند است، به جز این که هیچ فایدهای برای عقبگرد در اینجا وجود ندارد.
اگر تا به حال یک صفحهگستردهای که چند هفته پیش ساخته بودید را باز کردهاید و نتوانستید فرمول خود را درک کنید، LET دقیقاً همان چیزی است که به آن نیاز دارید.
چگونه از LET در Google Sheets استفاده میکنم
مقدارهای خود را از ابتدا نامگذاری کنید تا فرمولهای پیچیده ساده شوند

تابع LET یک الگوی ساده را دنبال میکند: به مقادیر نام میدهید و سپس از آن نامها در محاسبه نهایی استفاده میکنید. نحو به این شکل است:
=LET(name1, value1, name2, value2, …, formula_expression)
بهجای ارجاع به سلولهایی مانند B1، C7 و F12 در سراسر یک فرمول و مجبور کردن خود به یادآوری معنای هر کدام، میتوانید آنها را از ابتدا نامگذاری کنید. شاید تعداد سیبها در B2، توتها در B3 و بادامهندیها در B4 باشد. با LET، محاسبه نهایی به صورت سیبها + توتها + بادامهندیها خواهد شد نه B2 + B3 + B4، که میتوانید آن را مانند یک جمله بخوانید نه مانند یک معما رمزگشایی کنید.
=LET(apples, B2, berries, B3, cashews, B4, apples + berries + cashews)
چند قانون وجود دارد که باید به خاطر بسپارید. نامها باید شناسههای معتبر باشند، به این معنی که هیچ فاصله، کاراکتر ویژه، عدد یا ارجاع سلولی ندارند. نمیتوانید چیزی مانند A1 یا tax 2025! را نامگذاری کنید و انتظار داشته باشید که کار کند. با این حال میتوانید از متغیرها برای تعریف متغیرهای دیگر استفاده کنید. به شرطی که آنها را از چپ به راست تعریف کنید، هر نام میتواند به هر متغیری که قبل از آن آمده ارجاع دهد.
به عنوان مثال، بیایید مجموع مخلوط تنقلات را محاسبه کنیم که در آن هزینه بادامهندی به تعداد سیبها و توتهایی که مشتری خریداری میکند بستگی دارد:
=LET(AppleCount, 5, BerryCount, 10, CashewPrice, (AppleCount * 0.5) + (BerryCount * 0.2), CashewPrice)
در این فرمول، AppleCount و BerryCount را پیش از تعریف CashewPrice اعلان میکنم، بنابراین CashewPrice میداند از کدام مقادیر استفاده کند. اگر سعی میکردم CashewPrice را در ابتدا قرار دهم، فرمول خراب میشود زیرا هنوز نمیداند AppleCount یا BerryCount به چه معنا هستند. عبارت نهایی فرمول در اینجا صرفاً CashewPrice است، چرا که این متغیر قبلاً محاسبه کامل را بر اساس تعاریف قبلی دارد.
وقتی متوجه میشوم که مداوماً از همان ساختار LET استفاده میکنم، معمولاً آن را به یک تابع نامگذاریشده تبدیل میکنم (کاملاً متفاوت از قابلیت محدودههای نامگذاری شده در Google Sheets) با مراجعه به منوی بالایی و انتخاب Data → Named functions → Add new function. میتوانید فرمول LET خود را در پنل New named function تعریف کنید و سپس آن را در هر نقطهای از صفحهتان یا حتی در سایر صفحات گسترده وارد کنید. این رویکرد همه چیز را منظم نگه میدارد و از بازنویسی مکرر همان منطق جلوگیری میکند.

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

زمانی که یک محاسبه را به متغیری با LET اختصاص میدهم، Google Sheets آن را یک بار ارزیابی میکند، حتی اگر بعدها آن متغیر را چندین بار در فرمول استفاده کنم. بدون LET، هر ارجاع تکراری منجر به محاسبهای دیگر میشود. تفاوت را به راحتی میتوانید در فرمولهای فوقالعاده طولانی در برگههایی با ردیفها و ستونهای فراوان مشاهده کنید.
این یک محاسبه همچنین هنگام انجام جستجوها مفید است. فرض کنید از XLOOKUP برای یافتن مقدار استفاده میکنید و میخواهید قبل از نمایش، بررسی کنید آیا مقدار بازگشت داده شده است یا خیر. بدون LET، مجبور بودید کل XLOOKUP را دو بار بنویسید: یک بار برای آزمون نتیجه و یک بار برای بازگرداندن آن.
=IF(ISNA(XLOOKUP("Cashews", A2:A10, B2:B10)), "Missing", XLOOKUP("Cashews", A2:A10, B2:B10))
با LET، جستجو را یک بار محاسبه میکنید، به متغیری مانند «Result» اختصاص میدهید و سپس آن متغیر را در داخل یک عبارت IF ساده ارجاع میدهید.
در خبرنامه برای Google Sheets هوشمندتر مشترک شوید
=LET(Result, XLOOKUP("Cashews", A2:A10, B2:B10), IF(ISNA(Result), "Missing", Result))
همین ایده برای تاریخها یا هر چیزی که شامل توابع نوسانی مانند TODAY() باشد اعمال میشود. آن را به نام کوتاهی مانند «thisday» یکبار در بالای فرمول اختصاص میدهید و هرجا که نیاز دارید به آن ارجاع میدهید. برگه شما سریعتر اجرا میشود و فرمول خوانا میماند.

از این فرمولها با احتیاط استفاده کنید.
علاوه بر اینکه برگهها را سریعتر و خواناتر میکند، LET همچنین اشکالزدایی را بسیار کمدردتر میسازد. چون فرمول به قطعات کوچکتر و نامگذاریشده تقسیم میشود، میتوانید هر بخش را بهتنهایی تأیید کنید. اگر چیزی بهنظر نادرست میآید، میتوانید موقتاً عبارت نهایی formula_expression را با یکی از نامهای متغیر جایگزین کنید. این کار به شما امکان میدهد دقیقاً ببینید آن گام چه میسازد، آن را بهصورت جداگانه اصلاح کنید و سپس پس از اطمینان از درست بودن همه چیز، به عبارت کامل برگردید.
وقتی فرمولهای شما قابل خواندن باشند، همه چیز دیگر در برگه سادهتر میشود
بعد از اینکه LET را در Google Sheets مسلط شدم، متوجه شدم کار با صفحهگستردهها چقدر آسانتر شده است. میتوانستم برگههایم را با همتیمیهایم بهاشتراک بگذارم بدون نوشتن راهنما یا گذاشتن ردپای توضیحاتی، و میتوانستم چند ماه پس از آن به یک کتابکار بازگردم بدون اینکه نگران خراب شدن همه چیز باشم.
LET برگههای شما را کمتر شکننده، بیشتر مشارکتی و لذتبخش میسازد. اگر هنوز آن را امتحان نکردهاید، ارزش امتحان کردن دارد.