هوش مصنوعی در Google Sheets؛ آموزش فرمولنویسی، تحلیل داده و اتصال API درواره
در این راهنمای عملی یاد میگیرید چگونه با هوش مصنوعی در Google Sheets فرمول بسازید، دادهها را پاکسازی و دستهبندی کنید، بازخوردها را خلاصه کنید و ابزار اختصاصی متصل به API درواره بسازید.
Google Sheets یا گوگل شیت فقط یک ابزار ساده برای ساخت جدول نیست. بسیاری از کسبوکارها از آن برای مدیریت فروش، ثبت مشتریان، برنامهریزی پروژه، گزارشگیری، انبار، تولید محتوا، نظرسنجی و پیگیری فعالیتهای روزانه استفاده میکنند.
با افزایش تعداد ردیفها، انجام کارهایی مانند پاکسازی متن، دستهبندی اطلاعات، ساخت فرمول، استخراج داده و تهیه گزارش زمان زیادی میگیرد. هوش مصنوعی میتواند بخشی از این کارهای تکراری را سریعتر و ساختاریافتهتر انجام دهد.
برای مثال، میتوانید:
- از توضیح فارسی، فرمول Google Sheets بسازید.
- فرمولهای پیچیده را توضیح دهید.
- خطاهای فرمول را پیدا کنید.
- نظرهای مشتریان را دستهبندی کنید.
- از متن طولانی خلاصه بسازید.
- نام، شماره سفارش یا موضوع را از متن استخراج کنید.
- توضیحات محصولات را گروهی تولید کنید.
- دادههای نامنظم را استاندارد کنید.
- یک گزارش مدیریتی از جدول بسازید.
- با Apps Script تابع اختصاصی هوش مصنوعی ایجاد کنید.
- Google Sheets را به API درواره متصل کنید.
در این مقاله ابتدا کاربردهای آماده Gemini در Google Sheets را بررسی میکنیم و سپس یک اتصال عملی با Google Apps Script و API درواره میسازیم.
Google Sheets چیست؟
Google Sheets نرمافزار صفحهگسترده تحت وب گوگل است. این ابزار از فرمول، نمودار، Pivot Table، فیلتر، اعتبارسنجی داده، اسکریپتنویسی و همکاری همزمان پشتیبانی میکند.
مزیت مهم Google Sheets این است که کاربران میتوانند بدون نصب نرمافزار جداگانه، یک فایل مشترک بسازند و چند نفر بهطور همزمان روی آن کار کنند.
کاربردهای رایج آن عبارتاند از:
- ثبت فروش
- مدیریت فهرست مشتریان
- مدیریت پروژه
- تقویم محتوایی
- گزارش هزینه
- فهرست محصولات
- دادههای Google Forms
- برنامهریزی نیروی انسانی
- مقایسه قیمت
- تحلیل کمپین
- ثبت تیکتهای پشتیبانی
- مدیریت سرنخهای فروش
Google Sheets برای حجم متوسط داده و همکاری سریع مناسب است. برای دادههای بسیار بزرگ، پردازشهای پرتکرار یا رابطههای پیچیده، ممکن است استفاده از پایگاه داده، BigQuery یا ابزارهای هوش تجاری مناسبتر باشد.
هوش مصنوعی در Google Sheets چه کاری انجام میدهد؟
هوش مصنوعی میتواند دو نوع داده را در Google Sheets پردازش کند.
دادههای ساختاریافته
داده ساختاریافته شامل ستونها و ردیفهایی با معنی مشخص است؛ مانند:
| تاریخ | محصول | تعداد | مبلغ |
|---|---|---|---|
| ۱۴۰۵/۰۵/۰۱ | محصول الف | ۳ | ۱۲۰۰۰۰۰ |
| ۱۴۰۵/۰۵/۰۲ | محصول ب | ۱ | ۸۵۰۰۰۰ |
برای جمع، میانگین، درصد و محاسبات قطعی باید از فرمولهای معمول Google Sheets، SQL یا کد استفاده شود.
دادههای غیرساختاریافته
این گروه شامل متنهایی است که ساختار ثابت ندارند؛ مانند:
- دیدگاه مشتریان
- توضیحات تیکت
- پاسخهای تشریحی فرم
- متن پیام
- توضیحات محصول
- گزارش روزانه
- یادداشت جلسه
- متن ایمیل
مدلهای هوش مصنوعی بیشتر در تحلیل، خلاصهسازی، دستهبندی و استخراج اطلاعات از این نوع داده مفید هستند.
چه کارهایی را به هوش مصنوعی نسپاریم؟
همه عملیات Google Sheets به هوش مصنوعی نیاز ندارند.
این کارها بهتر است با فرمول یا منطق قطعی انجام شوند:
- جمع و تفریق
- محاسبه درصد
- تبدیل واحد ثابت
- محاسبه مالیات
- مرتبسازی
- حذف داده تکراری
- جستوجوی دقیق
- تطبیق شناسهها
- فیلتر براساس شرط مشخص
- اعتبارسنجی شماره و تاریخ
- شمارش رکوردها
برای مثال، جهت محاسبه مبلغ کل بهتر است از فرمول زیر استفاده کنید:
=SUM(D2:D1000)
نیازی نیست دادههای ستون مبلغ برای جمعشدن به مدل زبانی ارسال شوند.
هوش مصنوعی زمانی ارزش بیشتری دارد که مسئله به فهم زبان، تشخیص موضوع، خلاصهسازی یا تولید متن نیاز داشته باشد.
روشهای استفاده از هوش مصنوعی در Google Sheets
سه روش اصلی وجود دارد.
استفاده از Gemini در Google Sheets
اگر قابلیت Gemini برای حساب و پلن شما فعال باشد، میتوانید در محیط Google Sheets با زبان طبیعی درخواستهایی مانند این مطرح کنید:
- برای این پروژه یک جدول زمانبندی بساز.
- دادههای این جدول را خلاصه کن.
- روندهای مهم را پیدا کن.
- یک نمودار مناسب پیشنهاد بده.
- برای این ستون دستهبندی پیشنهاد کن.
- فیلتر و Dropdown ایجاد کن.
- اطلاعات متنی را خلاصه کن.
براساس توضیحات Google Workspace، Gemini در Sheets میتواند در ساخت جدول، تحلیل داده، دستهبندی و خلاصهسازی متن و انجام بعضی عملیات با زبان طبیعی کمک کند.
دسترسی به قابلیتها ممکن است به کشور، زبان، نوع حساب، پلن Workspace و تنظیمات مدیر سازمان وابسته باشد.
استفاده از یک دستیار هوش مصنوعی در کنار Sheets
میتوانید نمونه داده، فرمول یا ساختار جدول را به یک مدل بدهید و خروجی را در Google Sheets وارد کنید.
این روش برای موارد زیر مناسب است:
- ساخت فرمول
- رفع خطا
- طراحی ساختار جدول
- پیشنهاد Pivot Table
- توضیح نتیجه
- ساخت پرامپت برای دستهبندی
- طراحی گزارش
در این روش نباید اطلاعات غیرضروری یا محرمانه را همراه پرامپت ارسال کنید.
اتصال Google Sheets به API
با Google Apps Script میتوانید یک تابع، منو، Sidebar یا اتوماسیون اختصاصی بسازید که اطلاعات سلولها را به API هوش مصنوعی ارسال و خروجی را در Sheet ثبت کند.
گوگل Apps Script را یک پلتفرم JavaScript ابری برای توسعه و خودکارسازی ابزارهای Workspace معرفی میکند. براساس مستندات رسمی Apps Script، میتوان با آن تابع سفارشی، منو، اتوماسیون و Add-on ساخت.
کاربردهای هوش مصنوعی در Google Sheets
ساخت فرمول از روی توضیح فارسی
فرض کنید یک جدول فروش دارید:
| A | B | C | D |
|---|---|---|---|
| تاریخ | فروشنده | مبلغ | وضعیت |
| ۱۴۰۵/۰۵/۰۱ | علی | ۸۰۰۰۰۰ | نهایی |
| ۱۴۰۵/۰۵/۰۲ | مریم | ۱۲۰۰۰۰۰ | لغوشده |
میخواهید مجموع مبلغ سفارشهای نهایی فروشنده «علی» را محاسبه کنید.
پرامپت
برای Google Sheets یک فرمول بنویس.
ستونها:
A: تاریخ
B: نام فروشنده
C: مبلغ
D: وضعیت
هدف:
مجموع ستون C را فقط برای ردیفهایی محاسبه کن که:
- فروشنده در ستون B برابر «علی» باشد.
- وضعیت در ستون D برابر «نهایی» باشد.
دادهها از ردیف 2 تا 1000 هستند.
خروجی:
1. فرمول
2. توضیح بخشهای فرمول
3. نسخهای که نام فروشنده از سلول F2 خوانده شود
فرمول احتمالی
=SUMIFS(C2:C1000,B2:B1000,"علی",D2:D1000,"نهایی")
نسخه پویا:
=SUMIFS(C2:C1000,B2:B1000,F2,D2:D1000,"نهایی")
حتی اگر فرمول از نظر Syntax صحیح باشد، باید بررسی کنید که ستون مبلغ واقعاً عددی است و وضعیتها با املای یکسان ثبت شدهاند.
توضیح فرمولهای پیچیده
اگر یک فایل قدیمی دارید و معنی فرمول مشخص نیست، میتوانید از هوش مصنوعی بخواهید آن را مرحلهبهمرحله توضیح دهد.
پرامپت توضیح فرمول
فرمول Google Sheets زیر را توضیح بده:
=ARRAYFORMULA(IF(A2:A="","",IFERROR(VLOOKUP(A2:A,Products!A:D,4,FALSE),"یافت نشد")))
خروجی:
1. هدف کلی فرمول
2. توضیح هر تابع
3. شرایط تولید خروجی خالی
4. علت استفاده از IFERROR
5. محدودیتهای VLOOKUP
6. نسخه جایگزین با XLOOKUP در صورت امکان
7. مثال ساده
مدل باید بداند فرمول مربوط به Google Sheets است، زیرا جداکننده آرگومانها و پشتیبانی از بعضی تابعها ممکن است در نرمافزارها یا تنظیمات محلی متفاوت باشد.
رفع خطای فرمول
برای رفع خطا فقط متن #ERROR! را ارسال نکنید. این اطلاعات را نیز بنویسید:
- فرمول کامل
- متن دقیق خطا
- تنظیم Locale فایل
- نوع داده ستونها
- نمونه داده
- نتیجه مورد انتظار
- نام Sheetها
پرامپت رفع خطا
فرمول زیر در Google Sheets خطا میدهد:
[فرمول]
پیام خطا:
[متن خطا]
Locale فایل:
[مثلاً United States]
نمونه داده:
[چند ردیف]
خروجی مورد انتظار:
[توضیح]
این موارد را ارائه کن:
1. علت احتمالی خطا
2. فرمول اصلاحشده
3. روش آزمایش
4. حالتهای مرزی
5. مواردی که بدون دیدن فایل قابل تأیید نیستند
ساخت فرمول QUERY
تابع QUERY برای فیلتر، گروهبندی و تجمیع اطلاعات کاربرد دارد.
فرض کنید ستونهای زیر را دارید:
A: تاریخ
B: منطقه
C: محصول
D: مبلغ فروش
میخواهید مجموع فروش هر منطقه را فقط برای مبلغهای بیشتر از صفر نمایش دهید.
=QUERY(A1:D1000,"select B, sum(D) where D > 0 group by B label sum(D) 'مجموع فروش'",1)
پرامپت تولید QUERY
برای Google Sheets فرمول QUERY بنویس.
محدوده:
A1:F5000
ستونها:
A: Date
B: Region
C: Product
D: Salesperson
E: Quantity
F: NetAmount
هدف:
- فقط دادههای سال 2026
- گروهبندی براساس Region
- نمایش مجموع NetAmount
- مرتبسازی نزولی
- حذف ردیفهای مبلغ خالی
- عنوان ستون مجموع برابر «فروش خالص»
فرمول را همراه با توضیح و محدودیتهای تاریخ در QUERY ارائه کن.
پاکسازی دادههای متنی
هوش مصنوعی میتواند پیشنهاد دهد از کدام تابعها استفاده کنید:
TRIMCLEANSUBSTITUTEREGEXREPLACESPLITLOWERUPPERPROPERVALUEDATEVALUE
برای حذف فاصلههای اضافی:
=TRIM(A2)
برای حذف تمام کاراکترهای غیرعددی از شماره تلفن:
=REGEXREPLACE(A2,"[^0-9]","")
اگر الگوی پاکسازی مشخص و ثابت است، استفاده از فرمول بهتر از ارسال هر سلول به مدل هوش مصنوعی خواهد بود.
استانداردسازی نام دستهها
فرض کنید در یک ستون این مقدارها وجود دارند:
دیجیتال مارکتینگ
بازاریابی دیجیتال
Digital Marketing
دیجیتالمارکتینگ
بازاریابی آنلاین
اگر فهرست دستههای استاندارد را دارید، میتوان از مدل خواست هر ورودی را به نزدیکترین دسته نگاشت کند.
پرامپت دستهبندی
هر متن را فقط در یکی از دستههای مجاز قرار بده.
دستههای مجاز:
- بازاریابی دیجیتال
- فروش
- پشتیبانی
- محصول
- مالی
- سایر
قواعد:
- فقط نام یکی از دستههای بالا را برگردان.
- دسته جدید نساز.
- اگر متن مبهم است، «سایر» را انتخاب کن.
متن:
[متن سلول]
در پردازش ماشینی بهتر است خروجی دقیقاً محدود به برچسبهای مجاز باشد تا بتوان نتیجه را فیلتر و گزارشگیری کرد.
تحلیل بازخورد مشتریان
یک Sheet میتواند شامل هزاران نظر مشتری باشد. هوش مصنوعی میتواند برای هر نظر این اطلاعات را استخراج کند:
- موضوع
- احساس کلی
- فوریت
- محصول مرتبط
- درخواست یا شکایت
- نیاز به پیگیری
- خلاصه کوتاه
ساختار پیشنهادی:
| متن نظر | موضوع | احساس | فوریت | خلاصه | پیگیری |
|---|---|---|---|---|---|
| سرعت پاسخ خیلی پایین بود | پشتیبانی | منفی | زیاد | تأخیر پاسخگویی | بله |
پرامپت تحلیل نظر
نظر مشتری را تحلیل کن.
موضوعهای مجاز:
- قیمت
- کیفیت
- ارسال
- پشتیبانی
- تجربه کاربری
- امکانات
- سایر
احساس مجاز:
- مثبت
- خنثی
- منفی
فوریت مجاز:
- کم
- متوسط
- زیاد
خروجی را دقیقاً در قالب زیر برگردان:
موضوع:
احساس:
فوریت:
خلاصه:
نیاز به پیگیری: بله یا خیر
اگر اطلاعات کافی نیست، حدس نزن.
نظر:
[متن نظر]
استخراج اطلاعات از متن
فرض کنید در یک ستون پیامهایی مانند این دارید:
لطفاً سفارش ۸۵۲۱ را برای مشتری شرکت نمونه بررسی کنید. مشکل مربوط به تأخیر ارسال است.
میتوان خروجی زیر را استخراج کرد:
شماره سفارش: ۸۵۲۱
مشتری: شرکت نمونه
موضوع: تأخیر ارسال
اقدام: بررسی سفارش
برای پردازش خودکار بهتر است خروجی JSON دریافت شود، مشروط بر اینکه مدل انتخابی و جریان برنامه بتوانند خروجی ساختاریافته را پشتیبانی و اعتبارسنجی کنند.
ساخت توضیحات محصول
اگر اطلاعات محصولات در Google Sheets نگهداری میشوند، میتوانید ستون توضیحات کوتاه، معرفی کامل یا FAQ را تولید کنید.
ورودی مناسب:
| نام | برند | ویژگیها | کاربرد | محدودیت |
|---|---|---|---|---|
| محصول الف | برند نمونه | سبک، قابل حمل | استفاده روزانه | ضدآب نیست |
پرامپت باید مدل را از افزودن ویژگیهای غیرواقعی منع کند.
براساس اطلاعات واقعی محصول یک توضیح کوتاه حداکثر 100 کلمه بنویس.
نام:
[نام]
برند:
[برند]
ویژگیها:
[ویژگیها]
کاربرد:
[کاربرد]
محدودیت:
[محدودیت]
قواعد:
- ویژگی جدید اضافه نکن.
- ادعای تضمینشده نساز.
- لحن حرفهای و طبیعی باشد.
- متن با نام محصول شروع نشود.
ساخت گزارش روزانه یا هفتگی
میتوانید دادههای تجمیعشده را به مدل بدهید و گزارش متنی دریافت کنید.
نمونه ورودی:
فروش این هفته: ۸۴۰ میلیون تومان
فروش هفته قبل: ۷۹۰ میلیون تومان
هدف: ۹۰۰ میلیون تومان
تعداد سفارش: ۱۲۸۴
سفارش هفته قبل: ۱۳۱۰
بیشترین رشد: دسته نرمافزار
بیشترین کاهش: منطقه جنوب
محاسبات باید در Google Sheets انجام شوند و مدل فقط نتیجهها را تفسیر کند.
پرامپت گزارش مدیریتی
براساس شاخصهای محاسبهشده زیر یک گزارش مدیریتی فارسی بنویس.
شاخصها:
[شاخصها]
خروجی:
1. خلاصه اجرایی
2. سه تغییر مهم
3. فاصله از هدف
4. موارد نیازمند بررسی
5. فرضیههای قابل آزمایش
6. اقدامهای پیشنهادی
قواعد:
- عدد جدید نساز.
- مشاهده را علت قطعی معرفی نکن.
- فرضیه را با برچسب «فرضیه» مشخص کن.
- گزارش حداکثر 250 کلمه باشد.
استفاده از Gemini در Google Sheets
در حسابهایی که Gemini در Sheets فعال است، معمولاً میتوان از پنل کناری یا قابلیتهای مرتبط با هوش مصنوعی برای کار با داده استفاده کرد.
کاربردهای احتمالی:
- ساخت جدول
- پیشنهاد ساختار Tracker
- تحلیل داده
- تولید فرمول
- دستهبندی متن
- خلاصهسازی
- ایجاد Dropdown
- مرتبسازی و فیلتر
- پیشنهاد نمودار
- تکمیل ستونهای متنی
فهرست و دسترسی قابلیتها بهمرور تغییر میکند. برای مشاهده قابلیتهای فعلی حساب خود، بخش Gemini در مرکز راهنمای Google Docs Editors را بررسی کنید.
چگونه برای Gemini در Sheets پرامپت بنویسیم؟
یک پرامپت خوب باید این اجزا را داشته باشد:
- محدوده داده
- معنی ستونها
- هدف
- قالب خروجی
- محدودیتها
- نمونه
- روش برخورد با مقدار نامشخص
نمونه پرامپت ضعیف
این جدول را تحلیل کن.
نمونه پرامپت بهتر
جدول A1:F500 شامل داده فروش سه ماه اخیر است.
ستونها:
A: تاریخ
B: منطقه
C: محصول
D: تعداد
E: فروش خالص
F: وضعیت سفارش
فقط سفارشهای با وضعیت «نهایی» را بررسی کن.
خروجی:
1. مجموع فروش هر ماه
2. سه منطقه با بیشترین فروش
3. محصولاتی که فروش آنها نسبت به ماه قبل کاهش یافته است
4. موارد نیازمند بررسی
هیچ علت قطعی برای تغییرها بیان نکن؛ فقط الگوهای موجود در داده را گزارش کن.
ساخت تابع هوش مصنوعی با Apps Script
Google Apps Script امکان ساخت Custom Function را فراهم میکند. این تابع مانند فرمولهای معمول داخل سلول استفاده میشود.
برای نمونه، میسازیم:
=DARVAREH_AI(A2,"متن را در یک جمله خلاصه کن")
مستندات رسمی گوگل توضیح میدهند که Custom Functionها را میتوان با Apps Script ساخت و مانند تابع داخلی Sheets فراخوانی کرد. همچنین URL Fetch در توابع سفارشی قابل استفاده است. جزئیات در راهنمای Custom Functions آمده است.
مرحله اول: بازکردن Apps Script
داخل Google Sheets به مسیر زیر بروید:
Extensions → Apps Script
فایل پیشفرض Code.gs باز میشود.
مرحله دوم: ذخیره API Key
از بخش Project Settings، یک Script Property با این مشخصات بسازید:
Property:
DARVAREH_API_KEY
Value:
کلید API درواره
یک Property دیگر برای Model ID ایجاد کنید:
Property:
DARVAREH_MODEL_ID
Value:
YOUR_MODEL_ID
مقدار Model ID را از صفحه مدلهای درواره دریافت کنید.
در فایلهایی که افراد مختلف اجازه ویرایش اسکریپت دارند، درباره سطح دسترسی آنها به تنظیمات و کد پروژه تصمیمگیری کنید. برای یک سامانه سازمانی یا عمومی، بهتر است کلید در Backend مستقل نگهداری شود.
مرحله سوم: ساخت تابع
کد زیر را در Code.gs قرار دهید:
/**
* پردازش متن با API هوش مصنوعی درواره
*
* نمونه:
* =DARVAREH_AI(A2,"متن را خلاصه کن")
*
* @param {string} input متن ورودی
* @param {string} instruction دستور پردازش
* @return {string} خروجی مدل
* @customfunction
*/
function DARVAREH_AI(input, instruction) {
if (input === null || input === undefined || input === "") {
return "";
}
const properties = PropertiesService.getScriptProperties();
const apiKey = properties.getProperty("DARVAREH_API_KEY");
const modelId = properties.getProperty("DARVAREH_MODEL_ID");
if (!apiKey) {
throw new Error(
"مقدار DARVAREH_API_KEY در Script Properties تعریف نشده است."
);
}
if (!modelId) {
throw new Error(
"مقدار DARVAREH_MODEL_ID در Script Properties تعریف نشده است."
);
}
const prompt = [
"دستور:",
String(instruction || "متن را به فارسی روان خلاصه کن."),
"",
"متن:",
String(input),
"",
"قواعد:",
"- هیچ اطلاعاتی خارج از متن اضافه نکن.",
"- اگر ورودی مبهم است، آن را اعلام کن.",
"- فقط خروجی نهایی را برگردان."
].join("\n");
const payload = {
model: modelId,
messages: [
{
role: "system",
content:
"تو یک دستیار دقیق برای پردازش دادههای متنی Google Sheets هستی."
},
{
role: "user",
content: prompt
}
],
temperature: 0.2
};
const response = UrlFetchApp.fetch(
"https://api.darvareh.ir/v1/chat/completions",
{
method: "post",
contentType: "application/json",
headers: {
Authorization: "Bearer " + apiKey
},
payload: JSON.stringify(payload),
muteHttpExceptions: true
}
);
const statusCode = response.getResponseCode();
const responseText = response.getContentText();
let data;
try {
data = JSON.parse(responseText);
} catch (error) {
throw new Error("پاسخ API قابل پردازش نیست.");
}
if (statusCode < 200 || statusCode >= 300) {
const message =
data &&
data.error &&
data.error.message
? data.error.message
: "درخواست API با خطا مواجه شد.";
throw new Error(message);
}
if (
!data.choices ||
!data.choices[0] ||
!data.choices[0].message ||
!data.choices[0].message.content
) {
throw new Error("خروجی معتبری از مدل دریافت نشد.");
}
return String(data.choices[0].message.content).trim();
}
مرحله چهارم: استفاده در Sheet
پس از ذخیره کد، به Google Sheets برگردید.
اگر متن در سلول A2 قرار دارد، در سلول B2 بنویسید:
=DARVAREH_AI(A2,"متن را در حداکثر 20 کلمه خلاصه کن")
برای دستهبندی:
=DARVAREH_AI(A2,"فقط یکی از این برچسبها را برگردان: فروش، پشتیبانی، مالی، محصول، سایر")
برای اصلاح نگارشی:
=DARVAREH_AI(A2,"غلطهای نگارشی را اصلاح کن و معنی را تغییر نده")
برای استخراج موضوع:
=DARVAREH_AI(A2,"موضوع اصلی متن را حداکثر در 5 کلمه بنویس")
محدودیت Custom Function
Custom Function برای آزمایش و پردازش تعداد کم سلول مناسب است. استفاده از آن در صدها یا هزاران ردیف میتواند مشکلاتی ایجاد کند:
- هر سلول ممکن است یک درخواست جداگانه ارسال کند.
- زمان محاسبه Sheet افزایش مییابد.
- با Refresh یا Recalculation درخواست جدید ایجاد میشود.
- محدودیت اجرای Apps Script وجود دارد.
- مصرف API افزایش مییابد.
- بعضی درخواستها ممکن است Timeout شوند.
راهنمای رسمی گوگل توصیه میکند برای تعداد زیاد سلولها، بهجای فراخوانی مستقل هر سلول، دادهها بهشکل آرایه یا Batch پردازش شوند. همچنین Custom Functionها محدودیت زمانی اجرا دارند.
برای پردازش گروهی، ساخت یک منوی اختصاصی بهتر است.
ساخت منوی پردازش گروهی
کد زیر را به همان فایل Code.gs اضافه کنید:
function onOpen() {
SpreadsheetApp.getUi()
.createMenu("درواره")
.addItem(
"خلاصهسازی سلولهای انتخابشده",
"summarizeSelectedCells"
)
.addItem(
"دستهبندی سلولهای انتخابشده",
"classifySelectedCells"
)
.addToUi();
}
function summarizeSelectedCells() {
processSelectedCells(
"متن را در حداکثر 25 کلمه خلاصه کن."
);
}
function classifySelectedCells() {
processSelectedCells(
"فقط یکی از این برچسبها را برگردان: " +
"فروش، پشتیبانی، مالی، محصول، سایر"
);
}
function processSelectedCells(instruction) {
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getActiveRange();
if (!range) {
SpreadsheetApp.getUi().alert(
"ابتدا سلولهای ورودی را انتخاب کنید."
);
return;
}
const values = range.getValues();
const totalCells = values.length * values[0].length;
if (totalCells > 20) {
SpreadsheetApp.getUi().alert(
"در هر مرحله حداکثر 20 سلول را انتخاب کنید."
);
return;
}
const output = values.map(function(row) {
return row.map(function(value) {
if (value === null || value === "") {
return "";
}
try {
return DARVAREH_AI(value, instruction);
} catch (error) {
return "خطا: " + error.message;
}
});
});
const outputColumn = range.getLastColumn() + 1;
sheet
.getRange(
range.getRow(),
outputColumn,
output.length,
output[0].length
)
.setValues(output);
SpreadsheetApp.getUi().alert(
"پردازش تکمیل شد. خروجی در ستون مجاور قرار گرفت."
);
}
پس از ذخیره و بارگذاری مجدد Sheet، منوی «درواره» نمایش داده میشود.
در نخستین اجرا ممکن است Google برای اجرای Script مجوز درخواست کند.
مزیت منوی گروهی نسبت به Custom Function
| ویژگی | Custom Function | منوی گروهی |
|---|---|---|
| استفاده | مانند فرمول داخل سلول | اجرای دستی از منو |
| تعداد کم ردیف | مناسب | مناسب |
| پردازش گروهی | محدود | قابل کنترلتر |
| تکرار ناخواسته درخواست | محتمل | کمتر |
| ثبت خروجی ثابت | دشوارتر | آسانتر |
| کنترل خطا | محدود | بهتر |
| انتخاب فرایند | از آرگومان تابع | از گزینه منو |
برای کاربرد جدیتر میتوان پردازش را به Batchهای کوچک تقسیم، نتیجهها را Cache و وضعیت هر ردیف را ثبت کرد.
ساخت ساختار قابل ادامه برای پردازش زیاد
برای صدها ردیف، ستونهای زیر را اضافه کنید:
| متن | خروجی | وضعیت | زمان پردازش | خطا | نسخه پرامپت |
|---|---|---|---|---|---|
| متن نمونه | خلاصه | موفق | ۱۴۰۵/۰۵/۰۲ | v1 |
وضعیتهای پیشنهادی:
در انتظار
در حال پردازش
موفق
خطا
نیازمند بررسی
تأییدشده
گردش کار:
- فقط ردیفهای «در انتظار» انتخاب شوند.
- تعداد محدودی پردازش شود.
- نتیجه و زمان ذخیره شوند.
- خطاها در ستون جداگانه ثبت شوند.
- اجرای بعدی از ردیفهای باقیمانده ادامه پیدا کند.
- خروجی پیش از استفاده نهایی تأیید شود.
دریافت خروجی ساختاریافته
برای دستهبندیهای ساده، خروجی یک کلمهای کافی است. برای چند فیلد، JSON مناسبتر است.
نمونه درخواست
متن را تحلیل کن و فقط JSON معتبر با ساختار زیر برگردان:
{
"category": "sales | support | finance | product | other",
"sentiment": "positive | neutral | negative",
"priority": "low | medium | high",
"summary": "string"
}
قواعد:
- هیچ متن اضافی قبل یا بعد از JSON ننویس.
- مقدار خارج از گزینههای مجاز تولید نکن.
- خلاصه حداکثر 20 کلمه باشد.
متن:
[متن]
سمت Apps Script باید JSON را Parse و مقدارها را اعتبارسنجی کند. صرف درخواست JSON تضمین نمیکند هر مدل همیشه خروجی کاملاً معتبر برگرداند.
اتوماسیون Google Forms و Sheets
اگر پاسخهای Google Forms وارد یک Sheet میشوند، میتوانید پس از ثبت هر پاسخ:
- موضوع درخواست را تشخیص دهید.
- پاسخ را خلاصه کنید.
- فوریت را تعیین کنید.
- ردیف را برای تیم مناسب علامتگذاری کنید.
- گزارش روزانه بسازید.
برای اجرای خودکار میتوان از Installable Trigger نوع On form submit استفاده کرد.
معماری:
ارسال Google Form
↓
ثبت ردیف در Google Sheets
↓
اجرای Apps Script
↓
ارسال ستونهای متنی به API درواره
↓
ثبت موضوع، خلاصه و اولویت
↓
بررسی انسانی
اگر تعداد پاسخها زیاد است، بهتر است درخواستها در صف قرار بگیرند و داخل Trigger اصلی پردازش سنگین انجام نشود.
طراحی Prompt Template در Sheet
بهجای قراردادن دستور در تکتک فرمولها، میتوانید یک Sheet با نام Settings بسازید.
ساختار:
| کلید | مقدار |
|---|---|
| MODEL_ID | YOUR_MODEL_ID |
| SUMMARY_PROMPT | متن را در حداکثر ۲۵ کلمه خلاصه کن. |
| CATEGORY_PROMPT | فقط یکی از دستههای مجاز را برگردان. |
| PROMPT_VERSION | v1 |
مزایا:
- تغییر پرامپت بدون ویرایش کد
- ثبت نسخه
- یکپارچگی خروجی
- آزمایش چند دستور
- مدیریت سادهتر توسط مدیر فایل
کنترل کیفیت خروجی
برای هر کاربرد چند نمونه مرجع بسازید.
مثلاً برای دستهبندی نظر مشتری:
| ورودی | خروجی مورد انتظار |
|---|---|
| پاسخ پشتیبانی خیلی دیر بود | پشتیبانی |
| قیمت پلن برای ما زیاد است | قیمت |
| امکان خروجی Excel اضافه کنید | محصول |
| سفارش من هنوز نرسیده | ارسال |
سپس نتایج مدل را با پاسخهای مرجع مقایسه کنید.
معیارهای ساده:
- درصد دستهبندی صحیح
- تعداد خروجی خارج از دستهها
- تعداد پاسخ خالی
- تعداد خطا
- زمان متوسط پردازش
- هزینه پردازش
- میزان نیاز به اصلاح انسانی
انتخاب مدل مناسب
برای کارهای مختلف لازم نیست همیشه از یک مدل استفاده کنید.
| وظیفه | ویژگی مدل مناسب |
|---|---|
| دستهبندی ساده | سریع و اقتصادی |
| خلاصه کوتاه | مدل متنی سبک |
| استخراج JSON | پیروی خوب از دستور |
| تحلیل متن پیچیده | درک و استدلال بهتر |
| تولید توضیح محصول | نگارش روان فارسی |
| تحلیل چند ستون | Context و دقت بیشتر |
بهجای انتخاب مدل فقط براساس شهرت، آن را با ۲۰ تا ۵۰ نمونه واقعی از داده خود آزمایش کنید.
برای مشاهده مدلهای موجود و اطلاعات بهروز، صفحه مدلهای درواره را ببینید.
بهینهسازی هزینه و عملکرد
فقط ستونهای ضروری را ارسال کنید
برای دستهبندی دیدگاه، ارسال شماره تلفن، تاریخ ثبت یا ستونهای نامرتبط لازم نیست.
محاسبات را قبل از مدل انجام دهید
جمع و درصد را در Sheets محاسبه و فقط نتیجه را برای گزارش متنی ارسال کنید.
خروجی را کوتاه کنید
اگر فقط برچسب نیاز دارید، از مدل نخواهید توضیح طولانی تولید کند.
پردازش را Batch کنید
بهجای صدها Custom Function، دادهها را در گروههای کنترلشده پردازش کنید.
نتیجه را نگه دارید
اگر متن تغییر نکرده است، خروجی قبلی را دوباره تولید نکنید. میتوانید Hash متن را ذخیره و تغییر آن را بررسی کنید.
مدل متفاوت انتخاب کنید
کارهای ساده را به مدل سریعتر و اقتصادیتر و کارهای پیچیده را به مدل توانمندتر بسپارید.
نسخه پرامپت را ثبت کنید
اگر پرامپت تغییر کند، ممکن است خروجیهای جدید با ردیفهای قدیمی یکسان نباشند.
نکات فارسی در Google Sheets
اعداد فارسی و انگلیسی
شماره تلفن، شناسه و مبلغ ممکن است با رقم فارسی یا انگلیسی ثبت شوند. پیش از تحلیل، قالب آنها را یکسان کنید.
نیمفاصله
عبارتهای زیر ممکن است از نظر ظاهری مشابه ولی از نظر ماشینی متفاوت باشند:
می شود
میشود
ميشود
برای دستهبندی قطعی، یک مرحله Normalization لازم است.
حروف عربی و فارسی
حروف ي و ی یا ك و ک میتوانند باعث ایجاد مقدارهای متفاوت شوند.
تاریخ شمسی
Google Sheets ممکن است تاریخ شمسی را بهصورت Text نگهداری کند. پیش از محاسبه باید روش ذخیره و تبدیل تاریخ را مشخص کنید.
راستبهچپ
برای خوانایی بهتر:
- جهت Sheet را RTL تنظیم کنید.
- ستون متن را راستچین کنید.
- شناسه، کد و URL را چپچین نگه دارید.
- عرض ستون خروجی را متناسب کنید.
- Wrap Text را فعال کنید.
اشتباهات رایج
استفاده از هوش مصنوعی برای محاسبات ساده
جمع و درصد را با فرمول انجام دهید. مدل زبانی ابزار اصلی محاسبات صفحهگسترده نیست.
کپیکردن کل فایل در پرامپت
فقط داده مرتبط با وظیفه را ارسال کنید. حجم زیاد داده لزوماً خروجی دقیقتری نمیسازد.
استفاده از فرمول بدون بررسی Locale
در بعضی تنظیمات جداکننده آرگومانها , و در بعضی دیگر ; است. قالب تاریخ نیز ممکن است متفاوت باشد.
اجرای Custom Function در هزاران سلول
این کار میتواند باعث کندی، Timeout و مصرف زیاد API شود. برای حجم بالا از پردازش گروهی یا Backend استفاده کنید.
قرار دادن کلید در سلول
API Key را در یک سلول قابل مشاهده یا قابل اشتراک قرار ندهید.
انتشار خودکار خروجی
دستهبندی، خلاصه یا متن محصول را پیش از استفاده نهایی بررسی کنید.
نداشتن دستههای مجاز
اگر دستهها را مشخص نکنید، مدل ممکن است برای هر ردیف یک برچسب متفاوت تولید کند.
ترکیب تحلیل و محاسبه
ابتدا مقدارها را با فرمول محاسبه کنید و سپس از مدل بخواهید آنها را تفسیر کند.
نداشتن ستون وضعیت
در پردازش گروهی باید بدانید کدام ردیف موفق، ناموفق یا نیازمند بررسی است.
ارسال داده خام نامرتبط
برای تحلیل بازخورد مشتری فقط ستونهای ضروری را ارسال کنید.
چه زمانی از Backend استفاده کنیم؟
Apps Script برای نمونه اولیه، ابزار داخلی و حجم متوسط مناسب است. در این شرایط بهتر است یک Backend مستقل بسازید:
- تعداد درخواستها زیاد است.
- چند فایل یا تیم از سیستم استفاده میکنند.
- کنترل مصرف لازم است.
- صف پردازش نیاز دارید.
- مدل براساس وظیفه تغییر میکند.
- گزارش و مانیتورینگ لازم است.
- کلید API نباید در Script مشترک قرار بگیرد.
- باید خروجیها نسخهبندی شوند.
- پردازش طولانی است.
- چند سرویس به یک منطق مشترک نیاز دارند.
معماری پیشنهادی:
Google Sheets
↓
Apps Script
↓
Backend اختصاصی
↓
اعتبارسنجی و صف
↓
API درواره
↓
ذخیره نتیجه
↓
Google Sheets
درواره زیرساخت API مدلهای هوش مصنوعی است و جایگزین Google Sheets محسوب نمیشود. میتوانید از آن برای افزودن قابلیت پردازش متن، دستهبندی، خلاصهسازی یا تولید محتوا به گردش کار Google Sheets استفاده کنید.
چکلیست اجرای پروژه
تعریف مسئله
- وظیفه دقیق مشخص است.
- ورودی و خروجی تعریف شدهاند.
- معلوم است چه کاری با فرمول انجام میشود.
- نقش هوش مصنوعی مشخص است.
- معیار کیفیت تعریف شده است.
آمادهسازی داده
- نام ستونها واضح است.
- مقدارهای خالی بررسی شدهاند.
- اعداد استاندارد شدهاند.
- متن فارسی Normalized شده است.
- دستههای مجاز تعریف شدهاند.
- دادههای غیرضروری حذف شدهاند.
پرامپت
- هدف روشن است.
- قالب خروجی مشخص است.
- طول خروجی محدود شده است.
- مدل اجازه حدسزدن ندارد.
- نمونه خروجی ارائه شده است.
- برخورد با داده مبهم مشخص است.
Apps Script
- API Key در Script Properties قرار دارد.
- Model ID مشخص است.
- خطاهای HTTP مدیریت میشوند.
- پاسخ API اعتبارسنجی میشود.
- تعداد ردیف هر اجرا محدود است.
- خروجیها روی داده اصلی نوشته نمیشوند.
- ستون وضعیت و خطا وجود دارد.
کنترل کیفیت
- نمونههای مرجع تهیه شدهاند.
- خروجی با انتظار مقایسه شده است.
- ردیفهای خطادار مشخص میشوند.
- خروجی انسانی بررسی میشود.
- زمان و هزینه پردازش ثبت میشود.
- نسخه پرامپت نگهداری میشود.
سؤالات متداول
آیا Google Sheets هوش مصنوعی دارد؟
بله. در بعضی حسابها و پلنها قابلیتهای Gemini در Google Sheets در دسترس هستند. این قابلیتها میتوانند در ساخت جدول، تحلیل داده، دستهبندی و خلاصهسازی کمک کنند.
آیا Gemini در Google Sheets رایگان است؟
دسترسی به Gemini میتواند به نوع حساب، پلن Google Workspace، کشور، زبان و تنظیمات سازمان وابسته باشد. شرایط فعلی حساب خود را در مستندات و پنل Google Workspace بررسی کنید.
آیا ChatGPT میتواند فرمول Google Sheets بنویسد؟
بله. برای دریافت فرمول دقیق باید نام ستونها، محدوده داده، Locale، هدف و نمونه خروجی مورد انتظار را مشخص کنید.
چگونه خطای فرمول را با هوش مصنوعی رفع کنیم؟
فرمول کامل، متن خطا، نوع داده، چند ردیف نمونه و خروجی مورد انتظار را ارائه کنید. سپس فرمول اصلاحشده را روی یک محدوده کوچک آزمایش کنید.
آیا میتوان Google Sheets را به API هوش مصنوعی متصل کرد؟
بله. با Apps Script و UrlFetchApp میتوان درخواست HTTP به API ارسال و خروجی را در Sheet ثبت کرد.
آیا میتوان API درواره را به Google Sheets متصل کرد؟
بله. آدرس پایه API درواره https://api.darvareh.ir/v1 است. میتوانید از Apps Script یا یک Backend مستقل برای ارسال درخواست استفاده کنید.
آیا میتوان یک تابع AI داخل سلول ساخت؟
بله. Custom Function ساختهشده با Apps Script مانند تابع معمول Google Sheets فراخوانی میشود. این روش برای تعداد کم سلول مناسبتر است.
چرا تابع هوش مصنوعی کند است؟
هر سلول ممکن است یک درخواست مستقل به Apps Script و API ارسال کند. برای تعداد زیاد ردیف، از منوی گروهی، Cache یا Backend استفاده کنید.
آیا میتوان نظرهای مشتریان را خودکار دستهبندی کرد؟
بله. ابتدا دستههای مجاز را تعریف و خروجی مدل را به همان دستهها محدود کنید. نتیجهها باید با مجموعهای از نمونههای مرجع ارزیابی شوند.
آیا میتوان توضیحات محصول را از Google Sheets تولید کرد؟
بله. اطلاعات واقعی محصول را در ستونهای مشخص نگه دارید و خروجی را در ستون جداگانه تولید کنید. خروجی بهتر است پیش از انتشار بررسی شود.
آیا درواره یک افزونه Google Sheets است؟
خیر. درواره زیرساخت API هوش مصنوعی است. با Apps Script یا Backend میتوانید قابلیتهای مدلهای هوش مصنوعی را به Google Sheets اضافه کنید.
جمعبندی
هوش مصنوعی در Google Sheets زمانی بیشترین ارزش را ایجاد میکند که وظایف قطعی و زبانی از یکدیگر جدا شوند.
فرمولها و کد برای این کارها مناسباند:
- جمع
- درصد
- فیلتر
- جستوجو
- تطبیق
- اعتبارسنجی
- تبدیلهای ثابت
هوش مصنوعی برای این کارها مناسبتر است:
- خلاصهسازی
- دستهبندی متن
- استخراج اطلاعات
- بازنویسی
- تشخیص موضوع
- تولید توضیحات
- ساخت گزارش متنی
برای شروع، یک ستون متنی با ۱۰ تا ۲۰ نمونه انتخاب کنید، پرامپت مشخصی بنویسید و خروجی را با انتظار خود مقایسه کنید. پس از تأیید کیفیت، فرایند را با Apps Script یا Backend توسعه دهید.
برای استفاده از مدلهای هوش مصنوعی در Apps Script، در درواره ثبتنام کنید، کلید API بسازید و آدرس پایه زیر را در اتصال خود قرار دهید:
https://api.darvareh.ir/v1
برای مشاهده مدلهای موجود و اطلاعات بهروز، صفحه مدلهای درواره را ببینید.
مقالات مرتبط
- هوش مصنوعی برای Excel؛ آموزش فرمولنویسی و تحلیل داده
- تحلیل فایل CSV با هوش مصنوعی؛ ساخت AI Data Analyst
- تبدیل متن به جدول با هوش مصنوعی؛ آموزش Word و Excel
- تحلیل بازخورد مشتری با هوش مصنوعی
- هوش مصنوعی در حسابداری؛ آموزش کامل و کاربردی
- Structured Outputs و JSON Schema در API هوش مصنوعی
- API هوش مصنوعی چیست؟ راهنمای دریافت و استفاده
برای مطالعه شرایط استفاده و محدودیتهای مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.