سطح کدنویسی : مبتدی
مدت زمان : ۵ دقیقه
نوع پروژه : تابع سفارشی
اهداف
- بفهمید که راه حل چه کاری انجام میدهد.
- درک کنید که سرویسهای Apps Script در این راهکار چه کاری انجام میدهند.
- اسکریپت را تنظیم کنید.
- اسکریپت را اجرا کنید.
درباره این راهکار
اگر دادههای ساختاریافتهی مشابهی در چندین برگه در یک صفحه گسترده دارید، مانند معیارهای پشتیبانی مشتری برای اعضای تیم، میتوانید از این تابع سفارشی برای ایجاد خلاصهای از هر برگه استفاده کنید. این راهکار بر روی تیکتهای پشتیبانی مشتری تمرکز دارد، اما میتوانید آن را متناسب با نیازهای خود سفارشی کنید.


چگونه کار میکند؟
تابع سفارشی که getSheetsData() نام دارد، دادههای هر برگه در صفحه گسترده را بر اساس ستون وضعیت آن برگه خلاصه میکند. این اسکریپت برگههایی را که نباید در تجمیع گنجانده شوند، مانند برگههای ReadMe و Summary ، نادیده میگیرد.
سرویسهای اسکریپت برنامهها
این راهکار از سرویس زیر استفاده میکند:
- سرویس صفحه گسترده - صفحاتی را که باید خلاصه شوند دریافت میکند و تعداد مواردی را که با یک رشته مشخص مطابقت دارند، شمارش میکند. سپس، اسکریپت اطلاعات محاسبه شده را به محدودهای نسبت به جایی که تابع سفارشی در صفحه گسترده فراخوانی شده است، اضافه میکند.
پیشنیازها
برای استفاده از این نمونه، به پیشنیازهای زیر نیاز دارید:
- یک حساب گوگل (حسابهای کاربری گوگل ورکاسپیس ممکن است نیاز به تأیید مدیر داشته باشند).
- یک مرورگر وب با دسترسی به اینترنت.
اسکریپت را تنظیم کنید
برای ایجاد یک کپی از صفحه گسترده تابع سفارشی Summarize spreadsheet data ، روی دکمه زیر کلیک کنید. پروژه Apps Script برای این راهکار به صفحه گسترده پیوست شده است.
یک کپی تهیه کنید
اسکریپت را اجرا کنید
- در صفحه گسترده کپی شده خود، به برگه خلاصه (Summary Sheet) بروید.
- روی سلول
A4کلیک کنید. تابعgetSheetsData()در این سلول قرار دارد. - به یکی از برگههای مالک بروید و دادهها را به برگه بهروزرسانی یا اضافه کنید. برخی از اقداماتی که میتوانید امتحان کنید شامل موارد زیر است:
- یک ردیف جدید با اطلاعات نمونه بلیط اضافه کنید.
- در ستون وضعیت ، وضعیت یک تیکت موجود را تغییر دهید.
- موقعیت ستون وضعیت (Status) را تغییر دهید. برای مثال، در شیت Owner1 ، ستون وضعیت (Status) را از ستون C به ستون D منتقل کنید.
- به برگه خلاصه بروید و جدول خلاصه بهروزرسانیشدهای را که
getSheetsData()از سلولA4ایجاد کرده است، بررسی کنید. ممکن است لازم باشد کادر انتخاب ردیف 10 را علامت بزنید تا نتایج ذخیرهشده تابع سفارشی بهروزرسانی شود . گوگل توابع سفارشی را برای بهینهسازی عملکرد ذخیره میکند.- اگر ردیفهایی را اضافه یا بهروزرسانی کرده باشید، اسکریپت تعداد تیکتها و وضعیتها را بهروزرسانی میکند.
- اگر موقعیت ستون وضعیت را تغییر داده باشید، اسکریپت همچنان با اندیس ستون جدید طبق انتظار عمل میکند.
کد را مرور کنید
برای بررسی کد Apps Script برای این راهکار، روی مشاهده کد منبع در زیر کلیک کنید:
مشاهده کد منبع
کد.gs
اصلاحات
شما میتوانید تابع سفارشی را تا جایی که میخواهید متناسب با نیازهایتان ویرایش کنید. در زیر یک گزینه اختیاری برای بهروزرسانی دستی نتایج تابع سفارشی وجود دارد.
نتایج ذخیره شده در حافظه پنهان را تازه کنید
برخلاف توابع داخلی، گوگل توابع سفارشی را برای بهینهسازی عملکرد، کش میکند. این بدان معناست که اگر چیزی را در تابع سفارشی خود تغییر دهید، مانند مقداری که در حال محاسبه است، ممکن است بلافاصله بهروزرسانی نشود. برای بهروزرسانی دستی نتیجه تابع، مراحل زیر را انجام دهید:
- با کلیک روی Insert > Checkbox ، یک چکباکس به یک سلول خالی اضافه کنید.
- سلولی که کادر انتخاب را به عنوان پارامتر تابع سفارشی دارد، مثلاً
getSheetsData(B11)اضافه کنید. - برای بهروزرسانی نتایج تابع سفارشی، کادر انتخاب را علامت بزنید یا علامت آن را بردارید.
مشارکتکنندگان
این نمونه توسط گوگل و با کمک متخصصان توسعهدهنده گوگل نگهداری میشود.