سطح کدنویسی : مبتدی
مدت زمان : ۱۰ دقیقه
نوع پروژه : تابع سفارشی
اهداف
- بفهمید که راه حل چه کاری انجام میدهد.
- درک کنید که سرویسهای Apps Script در این راهکار چه کاری انجام میدهند.
- اسکریپت را تنظیم کنید.
- اسکریپت را اجرا کنید.
درباره این راهکار
اگر یک سیستم قیمتگذاری پلکانی برای مشتریان خود ارائه میدهید، این تابع سفارشی محاسبه مبالغ تخفیف برای قیمتهای شما را آسانتر میکند.
اگرچه میتوانید از تابع داخلی SUMPRODUCT برای محاسبه قیمتگذاری پلکانی استفاده کنید، اما استفاده از SUMPRODUCT پیچیدهتر و انعطافپذیری کمتری نسبت به تابع سفارشی این راهحل دارد.


چگونه کار میکند؟
مدل قیمتگذاری پلکانی به این معنی است که هزینه کالاها یا خدمات بر اساس مقدار خریداری شده کاهش مییابد.
برای مثال، تصور کنید دو سطح دارید، یکی که از ۰ تا ۵۰۰ دلار متغیر است و ۱۰٪ تخفیف دارد و دیگری که از ۵۰۱ تا ۱۰۰۰ دلار متغیر است و ۲۰٪ تخفیف دارد. اگر قیمت کل مورد نیاز برای محاسبه تخفیف ۷۰۰ دلار باشد، اسکریپت ۵۰۰ دلار اول را در ۱۰٪ و ۲۰۰ دلار باقیمانده را در ۲۰٪ ضرب میکند تا تخفیف کل ۹۰ دلار شود.
برای یک قیمت کل مشخص، اسکریپت در ردیفهای مشخص شده در جدول قیمتگذاری ردیفها میچرخد. برای هر بخش از قیمت کل که در یک ردیف قرار میگیرد، آن بخش در مقدار درصد مربوط به ردیف ضرب میشود. نتیجه، مجموع محاسبات هر ردیف است.
سرویسهای اسکریپت برنامهها
این راهکار از سرویس زیر استفاده میکند:
- سرویس صفحه گسترده - مقدار داده شده را دریافت کرده و محاسبه میکند که چه بخشی از مقدار باید در درصد تخفیف هر سطح ضرب شود.
پیشنیازها
برای استفاده از این نمونه، به پیشنیازهای زیر نیاز دارید:
- یک حساب گوگل (حسابهای کاربری گوگل ورکاسپیس ممکن است نیاز به تأیید مدیر داشته باشند).
- یک مرورگر وب با دسترسی به اینترنت.
اسکریپت را تنظیم کنید
برای ایجاد یک کپی از صفحه گسترده تابع سفارشی قیمتگذاری Tier ، روی دکمه زیر کلیک کنید. پروژه Apps Script برای این راهکار به صفحه گسترده پیوست شده است.
یک کپی تهیه کنید
اسکریپت را اجرا کنید
- در صفحه گسترده کپی شده شما، جدول ردیف ۱۶ نمونهای از محاسبه قیمت برای یک محصول «نرمافزار به عنوان سرویس» (SaaS) را نشان میدهد.
- برای محاسبه مبلغ تخفیف، در سلول
C20=tierPrice(C19,$B$3:$D$6)را وارد کنید. قیمت نهایی در سلولC21بهروزرسانی میشود. اگر در مکانی هستید که از کامای اعشاری استفاده میشود، ممکن است لازم باشد به جای آن=tierPrice(C19;$B$3:$D$6)وارد کنید.
کد را مرور کنید
برای بررسی کد Apps Script برای این راهکار، روی مشاهده کد منبع در زیر کلیک کنید:
مشاهده کد منبع
کد.gs
اصلاحات
شما میتوانید تابع سفارشی را تا جایی که میخواهید متناسب با نیازهایتان ویرایش کنید. در زیر یک گزینه اختیاری برای بهروزرسانی دستی نتایج تابع سفارشی وجود دارد.
نتایج ذخیره شده در حافظه پنهان را تازه کنید
برخلاف توابع داخلی، گوگل توابع سفارشی را برای بهینهسازی عملکرد، کش میکند. بنابراین، اگر چیزی را در تابع سفارشی خود تغییر دهید، مانند مقداری که در حال محاسبه است، ممکن است بلافاصله بهروزرسانی نشود. برای بهروزرسانی دستی نتیجه تابع، مراحل زیر را انجام دهید:
- با کلیک روی Insert > Checkbox ، یک چکباکس به یک سلول خالی اضافه کنید.
- سلولی که کادر انتخاب (checkbox) در آن قرار دارد را به عنوان پارامتر اضافی تابع سفارشی اضافه کنید. برای مثال، اگر یک کادر انتخاب به سلول
D20اضافه میکنید، تابعtierPrice()در سلولC20را به صورت=tierPrice(C19,$B$3:$D$6,D20)بهروزرسانی کنید. - برای بهروزرسانی نتایج تابع سفارشی، کادر انتخاب را علامت بزنید یا علامت آن را بردارید.
مشارکتکنندگان
این نمونه توسط گوگل و با کمک متخصصان توسعهدهنده گوگل نگهداری میشود.