آموزش هوش مصنوعی

هوش مصنوعی در اکسل: راهنمای عملی Copilot، پایتون و مدل محلی برای داده فارسی

راهنمای عملی هوش مصنوعی در اکسل برای تیم مالی و عملیات: کار واقعی Copilot، وضعیت دسترسی در ایران، پاک‌سازی داده فارسی، تاریخ شمسی، آزمون فرمول و مسیر محلی با Ollama.

هوش مصنوعی در اکسل: راهنمای عملی Copilot، پایتون و مدل محلی برای داده فارسی
نویسنده
تیم ژرف
انتشار
۲ مهر ۱۴۰۵
زمان مطالعه
۲۳ دقیقه

این راهنما برای کارشناس مالی، حسابدار، تحلیلگر عملیات و هر کسی نوشته شده که روزش با فایل اکسل می‌گذرد و می‌خواهد بداند هوش مصنوعی در اکسل واقعاً چه کاری از دستش برمی‌آید، کدام قابلیت‌ها برای کاربر ایرانی در دسترس نیست و چطور می‌توان پاک‌سازی داده، فرمول‌نویسی، گزارش و پیش‌بینی را سریع‌تر کرد بی‌آنکه داده مالی شرکت به خطر بیفتد. جست‌وجوی «ai در اکسل» معمولاً با یک پرسش ساده شروع می‌شود، اما پاسخ درست به چهار چیز بستگی دارد: مجوز، زبان داده، محل پردازش و روش راستی‌آزمایی.

همه ادعاهای مربوط به محصول در ۲ مهر ۱۴۰۵ (۲۴ سپتامبر ۲۰۲۶) با صفحه‌های رسمی پشتیبانی Microsoft و Google و مستندات Ollama تطبیق داده شده‌اند. این محصولات سریع تغییر می‌کنند؛ پیش از خرید یا استقرار، صفحه پیوندشده را دوباره ببینید. هر جا نوشته‌ایم «توصیه ما»، منظور تجربه مهندسی تیم ژرف است، نه ادعای سازنده. تصویرهای محصول از صفحه‌های پشتیبانی Microsoft برداشته شده‌اند و مطابق شرایط Microsoft برای استفاده از تصویر صفحه محصول بدون تغییر و با ذکر منبع آمده‌اند.

آنچه در شهریور ۱۴۰۵ تغییر کرد

مهم‌ترین تغییر برای کسی که آموزش‌های قدیمی را دنبال می‌کند این است: تابع درون‌سلولی COPILOT دیگر وجود ندارد. طبق صفحه رسمی تابع COPILOT، این تابع از ۲۳ شهریور ۱۴۰۵ (۱۴ سپتامبر ۲۰۲۶) از اکسل حذف شده است. این تابع فقط در برنامه‌های پیش‌نمایش Frontier و Insider عرضه شده بود. نتیجه‌های محاسبه‌شده قبلی به‌صورت مقدار ذخیره‌شده در فایل می‌مانند، اما هر سلولی که دوباره محاسبه شود خطای #NAME? برمی‌گرداند. اگر کاربرگی دارید که به این تابع تکیه کرده، همین حالا مقدارها را ثابت کنید و منطق را به فرمول معمولی یا جریان کاری دیگری منتقل کنید.

جایگزین رسمی، پنل Copilot (کوپایلوت) در اکسل است. راهنمای شروع Copilot در اکسل سه حالت کار را توضیح می‌دهد: حالت ویرایش که پیش‌فرض است و مستقیم در کاربرگ تغییر می‌دهد، حالت برنامه که پیش از اقدام، نقشه کار را برای تأیید شما می‌نویسد، و حالت فقط گفت‌وگو که داده را تحلیل می‌کند ولی چیزی را در فایل عوض نمی‌کند. دو تغییر دیگر هم ارزش دانستن دارد. طبق پرسش‌های متداول Copilot در اکسل، کاربر دارای اشتراک تجاری یا Microsoft 365 Premium می‌تواند میان مدل‌های Claude از Anthropic و مدل‌های GPT از OpenAI انتخاب کند و این انتخاب فقط برای همان نشست می‌ماند. همچنین صفحه حفاظت داده سازمانی (به‌روز شده در ۸ خرداد ۱۴۰۵) اعلام می‌کند نام Microsoft 365 Copilot به Microsoft Copilot تغییر کرده است؛ در این مقاله همین نام تازه را به کار می‌بریم.

اسکرین‌شات رسمی Microsoft از دکمه Copilot در گوشه پایین کاربرگ Microsoft Excel، برگرفته از راهنمای پشتیبانی Microsoft. Used with permission from Microsoft.اسکرین‌شات رسمی Microsoft از دکمه Copilot در گوشه پایین کاربرگ Microsoft Excel، برگرفته از راهنمای پشتیبانی Microsoft. Used with permission from Microsoft.

نقشه قابلیت‌های هوش مصنوعی در اکسل و Google Sheets

پیش از انتخاب ابزار، روشن کنید هر قابلیت دقیقاً چه می‌کند و چه شرطی دارد. جدول زیر خلاصه مستندات رسمی در تاریخ بازبینی این مقاله است. ستون آخر، نکته‌ای است که برای داده فارسی اهمیت دارد.

قابلیتچه می‌کندشرط دسترسی طبق مستنداتنکته برای داده فارسی
Copilot در اکسلویرایش کاربرگ، ساخت فرمول، نمودار، جدول محوری، تحلیل متناشتراک شخصی یا خانوادگی با طرح اعتبار هوش مصنوعی، Microsoft 365 Premium، اشتراک تجاری Microsoft Copilot یا اشتراک سازمانی واجد Copilot Chatفارسی در فهرست زبان‌های پشتیبانی‌شده نیست
تابع COPILOTپاسخ مدل در سلولاز ۲۳ شهریور ۱۴۰۵ حذف شده استبه آن تکیه نکنید
تحلیل داده (Analyze Data)پرسش به زبان طبیعی و پیشنهاد نمودار و جدول محوریمشترک Microsoft 365، حداکثر ۱٫۵ میلیون سلولفقط شش زبان: انگلیسی، فرانسوی، اسپانیایی، آلمانی، چینی ساده و ژاپنی
پایتون در اکسلاجرای کد پایتون با فرمول =PY و کتابخانه‌های Anacondaمجوز پولی Microsoft 365 با برنامه‌های دسکتاپ؛ اجرا در ابر Microsoftمتن فارسی را پردازش می‌کند، ولی کتابخانه دلخواه نصب نمی‌شود
پاور کوئری (Power Query)اتصال، پاک‌سازی، ادغام و بارگذاری تکرارپذیر دادهدر اکسل ویندوز، مک و نسخه وب؛ پشتیبانی مک و وب هنوز در حال گسترش استابزار اصلی یکسان‌سازی حروف و ارقام
برگه پیش‌بینی و FORECAST.ETSپیش‌بینی آماری با بازه اطمیناناکسل ۲۰۲۱، ۲۰۲۴ و Microsoft 365 در ویندوزمولد نیست؛ برای ماه شمسی نمایه دوره بسازید
Gemini در Google Sheets و تابع AIپنل گفت‌وگو، فرمول و نمودار؛ تابع متنی در سلولطرح واجد شرایط Google Workspace یا Google AIفارسی در فهرست زبان‌ها نیست؛ فایل اکسل باید به Sheets تبدیل شود

منابع هر ردیف: تحلیل داده در اکسل، معرفی پایتون در اکسل، درباره پاور کوئری در اکسل، ساخت پیش‌بینی در اکسل ویندوز، Gemini در Google Sheets، تابع AI در Google Sheets و زبان‌های پشتیبانی‌شده Gemini در Workspace.

نکته‌ای که در بیشتر معرفی‌ها گم می‌شود: سه ردیف از این جدول اصلاً هوش مصنوعی مولد نیستند. پاور کوئری، جدول محوری و پیش‌بینی آماری، بیشترین بار کار روزانه را برمی‌دارند و به سرویس بیرونی هم وابسته نیستند. مدل زبانی وقتی ارزش اضافه می‌کند که روی این پایه منظم سوار شود، نه جای آن.

دسترسی از ایران: آنچه در مستندات رسمی آمده

وضعیت را بدون حدس و شایعه و فقط از زبان سازنده‌ها بخوانید. صفحه محدودیت‌های مجوز Microsoft 365 می‌گوید خریدار می‌تواند مجوز را به کاربری در هر جای دنیا بدهد، به‌جز کوبا، ایران، کره شمالی، سودان و سوریه. صفحه مناطق و زبان‌های Microsoft Copilot هم می‌گوید این سرویس در بیش از ۱۷۰ بازار عرضه می‌شود، اما در «بازارهای تحت تحریم» یا در دسترس نیست یا پشتیبانی نمی‌شود.

زبان هم مانع جدی است. در فهرست زبان‌های پشتیبانی‌شده Microsoft Copilot که در فوریه ۲۰۲۶ به‌روز شده، عربی و عبری هستند اما فارسی نیست؛ در صفحه مناطق و زبان‌ها هم فارسی فقط در فهرست زبان‌های گفت‌وگوی صوتی Copilot مصرفی آمده است. پرسش‌های متداول Copilot در اکسل صریحاً می‌گوید مدل عمدتاً با منابع انگلیسی آموزش دیده و ممکن است در زبان‌های دیگر به همان خوبی کار نکند. راهنمای قابلیت مهارت‌ها در Copilot اکسل هم شرط کرده که زبان نمایش Office انگلیسی باشد. در Google Sheets هم فارسی در فهرست زبان‌های Gemini نیامده است.

جمع‌بندی رسمی برای کاربر یا شرکت مستقر در ایران «در دسترس نیست» است، نه «سخت در دسترس است». این مقاله راه دورزدن تحریم یا شرایط مجوز را آموزش نمی‌دهد؛ این کار برای سازمان پیامد حقوقی و امنیتی دارد و اگر درباره قرارداد یا مجوز تردید دارید، با مشاور حقوقی سازمان صحبت کنید. بخش‌های مربوط به Copilot برای دو گروه مفید است: تیم‌های فارسی‌زبان خارج از ایران که مجوز معتبر دارند، و هر کسی که می‌خواهد بداند این ابزارها چه می‌کنند تا جایگزین مناسب را انتخاب کند. بقیه راهنما روی ابزارهایی کار می‌کند که می‌توانید به‌طور مشروع به کار ببرید.

آماده‌سازی داده فارسی پیش از هر هوش مصنوعی

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

ی و ک عربی. در جدول نویسه‌های عربی یونی‌کد، «ی» فارسی (U+06CC) با «ي» عربی (U+064A) و «ى» (U+0649) یکی نیست و «ک» فارسی (U+06A9) با «ك» عربی (U+0643) فرق دارد. روی صفحه یکسان دیده می‌شوند، اما برای اکسل دو متن متفاوت‌اند. نتیجه: XLOOKUP مشتری را پیدا نمی‌کند، COUNTIF کمتر می‌شمارد و جدول محوری یک مشتری را در دو ردیف نشان می‌دهد.

ارقام فارسی و جداکننده‌ها. ارقام فارسی (U+06F0 تا U+06F9) و ارقام عربی (U+0660 تا U+0669) در خروجی بسیاری از نرم‌افزارها متن ذخیره می‌شوند. جداکننده هزارگان فارسی «٬» (U+066C) و ممیز فارسی «٫» (U+066B) هم تبدیل عدد را می‌شکنند. عددی که متن است در جمع شرکت نمی‌کند و بی‌صدا گزارش را اشتباه می‌کند.

نیم‌فاصله. نویسه نیم‌فاصله (U+200C) بخشی از املای درست فارسی است. آن را حذف نکنید؛ فقط فاصله‌های تکراری و فاصله‌های ابتدا و انتهای متن را پاک کنید.

جهت کاربرگ. راست‌به‌چپ کردن کاربرگ فقط نمایش را عوض می‌کند و ستون A را به سمت راست می‌برد. فرمول، مرجع سلول و ترتیب داده عوض نمی‌شود، پس نگران شکستن فرمول‌ها نباشید.

در اکسل‌هایی که تابع‌های LAMBDA را دارند، این دو فرمول کار را در سطح سلول انجام می‌دهند. اولی حروف عربی را فارسی می‌کند و دومی متن عددی فارسی را به عدد واقعی تبدیل می‌کند:

=TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, UNICHAR(1610), UNICHAR(1740)), UNICHAR(1609), UNICHAR(1740)), UNICHAR(1603), UNICHAR(1705)))

=VALUE(REDUCE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2, UNICHAR(1644), ""), ",", ""), UNICHAR(1643), "."), SEQUENCE(10, 1, 0),
  LAMBDA(acc, d, SUBSTITUTE(SUBSTITUTE(acc, UNICHAR(1776 + d), d), UNICHAR(1632 + d), d))))

برای کار تکراری ماهانه، پاور کوئری انتخاب بهتری است، چون مراحل ثبت می‌شوند و با هر خروجی تازه دوباره اجرا می‌شوند. این نمونه ستون مشتری و مبلغ را یکسان‌سازی می‌کند:

let
    Source = Excel.CurrentWorkbook(){[Name = "Sales"]}[Content],
    FaDigits = {"۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"},
    ArDigits = {"٠","١","٢","٣","٤","٥","٦","٧","٨","٩"},
    ToLatinDigits = (t as text) as text =>
        List.Accumulate({0..9}, t, (s, d) =>
            Text.Replace(Text.Replace(s, FaDigits{d}, Text.From(d)), ArDigits{d}, Text.From(d))),
    FixLetters = (t as text) as text =>
        Text.Replace(Text.Replace(Text.Replace(t, "ي", "ی"), "ى", "ی"), "ك", "ک"),
    Cleaned = Table.TransformColumns(Source, {
        {"Customer", each FixLetters(Text.Trim(Text.From(_))), type text},
        {"AmountRial", each Number.From(Text.Remove(ToLatinDigits(Text.From(_)), {"٬", ","})), Int64.Type}
    })
in
    Cleaned

توصیه ما: اگر می‌توانید، مشکل را در منبع حل کنید. تنظیم خروجی نرم‌افزار حسابداری، صفحه‌کلید استاندارد فارسی در فرم ورود داده و یک فهرست مرجع مشتری، از هر فرمول پاک‌سازی ارزان‌تر است.

ساخت و توضیح فرمول با Copilot

طبق راهنمای تحلیل داده با Copilot در اکسل، Copilot می‌تواند ستون یا ردیف تازه‌ای بسازد که از داده موجود محاسبه می‌شود، برای یک سلول فرمول دقیق پیشنهاد دهد، با فرمولی مثل XLOOKUP مقدار را از کاربرگ دیگر بیاورد و فرمول‌های پیچیده فایل‌های به‌ارث‌رسیده را توضیح دهد. همین صفحه می‌گوید هر چه پرسش دقیق‌تر باشد و نام ستون‌ها را صریح‌تر بیاورید، نتیجه بهتر است.

سه عادت کار را قابل‌اعتمادتر می‌کند. اول، خروجی مورد انتظار را بگویید: «ستونی بساز که حاشیه سود هر فاکتور را به درصد نشان دهد و خالی‌ها را صفر در نظر نگیرد». دوم، برای تغییرهای چندمرحله‌ای در فایل مشترک، حالت برنامه را انتخاب کنید تا پیش از اجرا، نقشه را ببینید. سوم، چون فارسی رسماً پشتیبانی نمی‌شود، توصیه ما این است که درخواست را به انگلیسی بنویسید و به ستون‌ها با حرف ستون یا یک نام انگلیسی کمکی اشاره کنید، ولی داده را فارسی نگه دارید.

اسکرین‌شات رسمی Microsoft از منوی حالت‌های Copilot در Microsoft Excel شامل ویرایش، برنامه و فقط گفت‌وگو، برگرفته از راهنمای پشتیبانی Microsoft. Used with permission from Microsoft.اسکرین‌شات رسمی Microsoft از منوی حالت‌های Copilot در Microsoft Excel شامل ویرایش، برنامه و فقط گفت‌وگو، برگرفته از راهنمای پشتیبانی Microsoft. Used with permission from Microsoft.

یادتان باشد تغییرهای ذخیره‌شده Copilot برای همه کسانی که به فایل دسترسی دارند دیده می‌شود، حتی در ویرایش همزمان. پرسش‌های متداول Microsoft می‌گوید ویرایش با Copilot فقط وقتی کار می‌کند که گزینه محاسبه روی حالت خودکار باشد، و قالب قدیمی Strict Open XML پشتیبانی نمی‌شود. اگر Copilot در میانه کار مسیر اشتباهی رفت، دکمه توقف در گوشه کادر ورودی کار را همان‌جا متوقف می‌کند و می‌توانید تغییر را برگردانید یا به نسخه قبلی فایل بروید.

اسکرین‌شات رسمی Microsoft از دکمه توقف در کادر گفت‌وگوی Copilot هنگام ویرایش در Microsoft Excel، برگرفته از راهنمای پشتیبانی Microsoft. Used with permission from Microsoft.اسکرین‌شات رسمی Microsoft از دکمه توقف در کادر گفت‌وگوی Copilot هنگام ویرایش در Microsoft Excel، برگرفته از راهنمای پشتیبانی Microsoft. Used with permission from Microsoft.

راستی‌آزمایی فرمول‌هایی که هوش مصنوعی می‌سازد

خود Microsoft در پرسش‌های متداول Copilot اکسل نوشته است که این ابزار ممکن است اشتباه کند و از به کار بردن آن برای تصمیم در حوزه‌های حساسی مثل امور مالی، حقوقی و پزشکی پرهیز کنید. برای تیم مالی معنای عملی این جمله روشن است: فرمول تولیدشده پیش‌نویس است و تا آزمون نشود وارد گزارش رسمی نمی‌شود. این فهرست را برای هر فرمولی که به صورت مالی یا گزارش مدیریت می‌رسد اجرا کنید:

  1. توضیح برگشتی. از Copilot بخواهید فرمول را توضیح دهد و با برداشت خودتان مقایسه کنید. اگر توضیح و فرمول با هم نمی‌خوانند، فرمول را رد کنید.
  2. ردیف‌های با پاسخ معلوم. پنج تا ده ردیف را دستی حساب کنید و حالت‌های مرزی را عمداً بگنجانید: خانه خالی، صفر، مبلغ منفی برگشت از فروش، عدد ذخیره‌شده به شکل متن، رقم فارسی، کلید تکراری و کلیدی که در جدول مرجع نیست.
  3. تطبیق جمع. جمع ستون تازه را با محاسبه مستقل، مثلاً یک جدول محوری یا SUMIFS، مقایسه کنید. اختلاف باید دقیقاً صفر باشد، نه «تقریباً».
  4. مرجع‌ها. مرجع مطلق و نسبی، بازه‌ای که کل جدول را می‌پوشاند و عدد ثابتی که درون فرمول پنهان شده را بررسی کنید. نرخ و ضریب باید در سلول جداگانه و قابل دیدن باشد.
  5. جست‌وجو. در XLOOKUP حالت تطبیق دقیق و مقدار «یافت نشد» صریح باشد تا خطا بی‌صدا به صفر تبدیل نشود.
  6. ابزار ممیزی فرمول. ردیابی پیشینه‌ها و وابسته‌ها و ارزیابی گام‌به‌گام فرمول نشان می‌دهد عدد از کجا آمده است. در تحلیل متن هم Microsoft می‌گوید با بردن نشانگر روی شماره بالانویس، داده منبعی که Copilot استفاده کرده دیده می‌شود.
  7. بازبینی دوم. فرمولی که به صورت مالی می‌رسد را نفر دوم تأیید کند و متن درخواست، نسخه فرمول و تاریخ ثبت شود.

خطر دیگری هم هست که کمتر دیده می‌شود: متنی که هوش مصنوعی تولید یا خلاصه می‌کند، اگر با = یا + یا @ شروع شود، ممکن است هنگام ورود به کاربرگ به فرمول تبدیل شود. جزئیات و آزمون آن را در راهنمای تبدیل‌نشدن متن خروجی هوش مصنوعی به فرمول در اکسل نوشته‌ایم.

جدول محوری، نمودار و داشبورد مدیریتی

راهنمای شروع Copilot می‌گوید این ابزار نمودار و جدول محوری را با پیوند قابل ویرایش به داده منبع می‌سازد و حتی می‌تواند داشبورد و قالب برنامه‌ریزی را از صفر بچیند. قابلیت قدیمی‌تر تحلیل داده هم پرسش زبان طبیعی را به نمودار و جدول محوری پیشنهادی تبدیل می‌کند، اما فقط شش زبان را می‌شناسد و بیش از ۱٫۵ میلیون سلول را تحلیل نمی‌کند. هر دو برای «اولین نسخه» عالی‌اند؛ مشکل از جایی شروع می‌شود که همین نسخه اول، بی‌آنکه کسی تعریف شاخص‌ها را بنویسد، داشبورد رسمی ماهانه شود.

برای کار ایرانی یک دام خاص وجود دارد: گروه‌بندی خودکار تاریخ در جدول محوری بر اساس ماه میلادی است، نه ماه شمسی. راه درست، جدول تقویم است: جدولی که برای هر روز، تاریخ میلادی، سال و ماه و فصل شمسی و برچسب «۱۴۰۵-۰۶» را دارد و داده فروش با تاریخ میلادی به آن وصل می‌شود. آن‌وقت جدول محوری را با ستون‌های شمسی گروه‌بندی می‌کنید.

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

پیش‌بینی در اکسل: آمار شفاف پیش از مدل مولد

برای پیش‌بینی فروش یا هزینه، به چت‌بات نگویید «ماه بعد چقدر می‌فروشیم». مدل زبانی مدل پیش‌بینی نیست و پاسخش نه تکرارپذیر است و نه بازه خطا دارد. اکسل ابزار آماری شفافی دارد: طبق راهنمای ساخت پیش‌بینی، برگه پیش‌بینی از نسخه AAA الگوریتم هموارسازی نمایی استفاده می‌کند، فصلی بودن را خودش تشخیص می‌دهد، تا ۳۰ درصد نقطه گمشده را تحمل می‌کند و به‌طور پیش‌فرض بازه اطمینان ۹۵ درصد را نشان می‌دهد.

شرط اصلی این است که فاصله نقطه‌های زمانی یکسان باشد. ماه‌های شمسی ۲۹ تا ۳۱ روزند و تاریخ شروعشان در تقویم میلادی جابه‌جا می‌شود. چون همین راهنما فاصله عددی را هم می‌پذیرد، توصیه ما این است که به‌جای تاریخ، یک نمایه دوره بسازید: فروردین ۱۴۰۴ دوره ۱، اردیبهشت دوره ۲ و به همین ترتیب. داده را هم پیش از پیش‌بینی در سطح ماه جمع بزنید، چنان‌که Microsoft توصیه می‌کند.

پیش‌بینی را بدون پس‌آزمایی قبول نکنید. شش ماه آخر را کنار بگذارید، با داده قبلی پیش‌بینی کنید و خطا را با یک روش ساده مقایسه کنید، مثلاً «همان ماه سال قبل». اگر مدل از روش ساده بهتر نیست، پیچیدگی‌اش ارزش ندارد. در فروش کالا، ماه‌هایی که موجودی تمام شده بود فروش را کمتر از تقاضا نشان می‌دهند؛ این خطا را در مقاله قفسه خالی و پیش‌بینی تقاضا توضیح داده‌ایم.

دسته‌بندی نظرات فارسی مشتریان

راهنمای Microsoft می‌گوید Copilot می‌تواند متن‌های زیاد مثل نظر مشتری و پاسخ نظرسنجی را خلاصه کند، موضوع‌ها و احساس غالب را پیدا کند و نتیجه را به‌صورت ستون تازه به فایل اضافه کند. برای متن فارسی، با توجه به فهرست زبان‌ها، این قابلیت را تا وقتی روی نمونه خودتان نسنجیده‌اید پشتیبانی‌شده فرض نکنید.

روش درست، مستقل از ابزار، این است:

  • فهرست برچسب بسته. پیش از شروع، برچسب‌ها را تعریف کنید، مثلاً تحویل، قیمت، کیفیت، خدمات و سایر. برچسب «نامشخص» یا «سایر» الزامی است تا مدل مجبور به حدس نشود.
  • خروجی ساخت‌یافته. در مستندات خروجی ساخت‌یافته Ollama، شما یک طرح JSON می‌دهید و مدل پاسخی مطابق همان طرح برمی‌گرداند. همین صفحه توصیه می‌کند دما صفر باشد و طرح در متن درخواست هم بیاید. این کار ستون خروجی را قابل‌اعتماد و قابل‌شمارش می‌کند.
  • نمونه برچسب‌خورده انسانی. ۱۵۰ تا ۲۰۰ نظر را یک همکار بدون دیدن پاسخ مدل برچسب بزند. نرخ توافق را برای هر برچسب جداگانه حساب کنید، نه فقط میانگین کل.
  • حساسیت‌های فارسی. محاوره، کنایه، فینگلیش و غلط املایی رایج است. یکسان‌سازی حروف پیش از دسته‌بندی، خطا را کم می‌کند.
  • پایش ماهانه. با تغییر محصول یا فصل، موضوع‌های تازه پیدا می‌شوند. هر ماه یک نمونه کوچک را دوباره بسنجید.

تاریخ شمسی و مبلغ ریال و تومان

اکسل تاریخ را به شکل عدد پیاپی بر پایه تقویم میلادی ذخیره می‌کند. قالب نمایش هر چه باشد، YEAR و MONTH و گروه‌بندی جدول محوری با تقویم میلادی کار می‌کنند. در اکسل ویندوز می‌توان با قالب سفارشی و کد زبان فارسی، همان تاریخ را شمسی نمایش داد؛ کاربران ایرانی معمولاً آن را به شکل [$-fa-IR,16]yyyy/mm/dd می‌نویسند. این کد را روی نسخه خودتان آزمایش کنید و بدانید که فقط نمایش را عوض می‌کند، نه محاسبه را.

تاریخ شمسی‌ای که از نرم‌افزار حسابداری به‌صورت متن، مثل «۱۴۰۵/۰۶/۳۱»، می‌آید، باید یک‌بار به تاریخ واقعی تبدیل شود. دو راه مطمئن وجود دارد: جدول تقویمی که یک‌بار ساخته و در همه گزارش‌ها استفاده می‌شود، یا تبدیل در پایتون محلی پیش از ورود به اکسل. پایتون در اکسل برای این کار مناسب نیست، چون طبق صفحه امنیت داده پایتون در اکسل کد در محفظه ابری Microsoft و بدون دسترسی به شبکه اجرا می‌شود و با کتابخانه‌های از پیش تعیین‌شده کار می‌کند.

درباره مبلغ، سه قاعده ساده بیشتر خطاها را می‌گیرد. هر تومان ده ریال است؛ در داده فقط یک واحد نگه دارید و واحد را در نام ستون بنویسید، مثل «مبلغ_ریال». تبدیل به تومان یا میلیون ریال فقط در لایه نمایش انجام شود و هرگز دو واحد در یک ستون نیاید. واحد را در متن درخواست به هوش مصنوعی هم صریح بگویید. و به دقت عدد توجه کنید: طبق مشخصات و محدودیت‌های اکسل، دقت عددی ۱۵ رقم است. جمع سالانه ریالی یک شرکت بزرگ می‌تواند از این مرز بگذرد و رقم‌های آخرش بی‌صدا گرد شود؛ گزارش در سطح میلیون ریال یا نگه‌داشتن دفتر اصلی در نرم‌افزار حسابداری این خطر را برطرف می‌کند.

وقتی Copilot در دسترس نیست: مسیرهای مشروع

نبود Copilot به معنای نبود هوش مصنوعی در اکسل نیست. این مسیرها با ابزارهایی کار می‌کنند که سازمان می‌تواند به‌طور مشروع تهیه کند:

  1. هسته غیرمولد. پاور کوئری، جدول محوری، XLOOKUP و پیش‌بینی آماری در نرم‌افزار صفحه‌گسترده‌ای که مجوز استفاده‌اش را دارید، بخش بزرگ کار را بدون هیچ سرویس بیرونی انجام می‌دهند.
  2. پایتون محلی. کتابخانه pandas روی رایانه یا سرور خود شرکت، پاک‌سازی، تطبیق و گزارش تکراری را انجام می‌دهد. کتابخانه متن‌باز xlwings با مجوز BSD پایتون محلی را به اکسل وصل می‌کند و در ویندوز تابع سفارشی پایتونی هم می‌سازد.
  3. مدل زبانی محلی با Ollama. مدل روی سخت‌افزار خودتان اجرا می‌شود و داده از سازمان خارج نمی‌شود. جریان کار ساده است: خروجی CSV، پردازش با پایتون و مدل محلی، بازگشت به اکسل. مجوز هر مدل را پیش از استفاده بخوانید و کیفیت فارسی آن را روی نمونه خودتان بسنجید، چون از مدلی به مدل دیگر بسیار فرق دارد.
  4. رابط برنامه‌نویسی هوش مصنوعی داخلی. سرویس‌دهندگان ایرانی رابط مدل زبانی عرضه می‌کنند. پیش از قرارداد، محل پردازش، مدت نگه‌داری لاگ، استفاده از داده برای آموزش و تعهد سطح خدمت را مکتوب کنید. معیارهای مقایسه را در راهنمای انتخاب میان ابزار بومی و خارجی آورده‌ایم.

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

حریم خصوصی: داده مالی را در چت‌بات عمومی نچسبانید

صفحه حفاظت داده سازمانی Microsoft توضیح می‌دهد که استفاده سازمانی از Microsoft Copilot و Copilot Chat با حساب کاری، تابع قرارداد حفاظت داده و شرایط محصول است و درخواست‌ها و پاسخ‌ها برای آموزش مدل‌های پایه استفاده نمی‌شوند. این تعهد به قرارداد سازمانی بسته است. حساب شخصی یک چت‌بات عمومی چنین قراردادی میان شرکت شما و سرویس‌دهنده ایجاد نمی‌کند و کنترل نگه‌داری، دسترسی و حوزه قضایی داده از دست شما خارج می‌شود.

قاعده‌ها را ساده و مکتوب کنید:

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

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

نمونه کامل: از خروجی نرم‌افزار حسابداری تا گزارش ماهانه

فرض کنید یک شرکت پخش فرضی، فروش شش‌ماهه نخست ۱۴۰۵ را با حدود دوازده هزار ردیف از نرم‌افزار حسابداری خروجی گرفته است. ستون‌ها: تاریخ شمسی متنی، نام مشتری، مبلغ ریالی با ارقام فارسی و جداکننده «٬»، و نظر مشتری. هدف: گزارش ماهانه فروش به تفکیک ماه شمسی، دسته‌بندی نظرها و پیش‌بینی سه ماه آینده، بدون اینکه داده از شرکت خارج شود.

گام ۱: خروجی و پاک‌سازی. فایل را با کدگذاری UTF-8 خروجی بگیرید و نسخه اصلی را فقط‌خواندنی نگه دارید. این اسکریپت روی رایانه خود شرکت اجرا می‌شود. کتابخانه متن‌باز jdatetime تاریخ شمسی را به میلادی تبدیل می‌کند؛ نسخه و مجوز آن را در محیط خودتان بررسی کنید.

import pandas as pd
import jdatetime

DIGITS = str.maketrans("۰۱۲۳۴۵۶۷۸۹٠١٢٣٤٥٦٧٨٩", "01234567890123456789")
LETTERS = str.maketrans({"ي": "ی", "ى": "ی", "ك": "ک"})

def clean_text(value) -> str:
    # split() does not treat the zero-width non-joiner as a space, so it is kept
    return " ".join(str(value).translate(LETTERS).split())

df = pd.read_csv("sales_1405_h1.csv", encoding="utf-8-sig", dtype=str)
df.columns = ["date_jalali", "customer", "amount_rial", "comment"]

df["customer"] = df["customer"].map(clean_text)
df["comment"] = df["comment"].fillna("").map(clean_text)
df["amount_rial"] = pd.to_numeric(
    df["amount_rial"].str.translate(DIGITS).str.replace("[٬,]", "", regex=True),
    errors="coerce",
)
bad_amounts = df[df["amount_rial"].isna()]  # review these rows by hand

parts = df["date_jalali"].str.translate(DIGITS).str.split("/", expand=True).astype(int)
df["j_year"], df["j_month"], df["j_day"] = parts[0], parts[1], parts[2]
df["date"] = [
    jdatetime.date(int(y), int(m), int(d)).togregorian()
    for y, m, d in zip(df["j_year"], df["j_month"], df["j_day"])
]
df["period"] = (df["j_year"] - 1405) * 12 + df["j_month"]

گام ۲: دسته‌بندی با مدل محلی. مدلی را انتخاب کنید که مجوزش اجازه استفاده تجاری می‌دهد و پیش‌تر روی فارسی آزموده‌اید. برچسب‌ها انگلیسی و بسته‌اند تا شمارش آن‌ها پایدار بماند؛ ترجمه فارسی را بعداً در اکسل اضافه کنید.

import json
from typing import Literal
from ollama import chat
from pydantic import BaseModel

class Label(BaseModel):
    category: Literal["delivery", "price", "quality", "service", "other"]
    sentiment: Literal["positive", "neutral", "negative"]

SCHEMA = Label.model_json_schema()
INSTRUCTIONS = (
    "Classify one Persian customer comment for a sales review. "
    "Use 'other' when the comment is unclear. Reply only with JSON matching: "
    + json.dumps(SCHEMA)
)

def classify(comment: str) -> Label:
    response = chat(
        model="YOUR_TESTED_LOCAL_MODEL",
        messages=[
            {"role": "system", "content": INSTRUCTIONS},
            {"role": "user", "content": comment},
        ],
        format=SCHEMA,
        options={"temperature": 0},
    )
    return Label.model_validate_json(response.message.content)

has_text = df["comment"] != ""
labels = df.loc[has_text, "comment"].map(classify)
df.loc[has_text, "category"] = labels.map(lambda x: x.category)
df.loc[has_text, "sentiment"] = labels.map(lambda x: x.sentiment)

گام ۳: کنترل پیش از انتشار. سه آزمون، پیش از اینکه کسی گزارش را ببیند: تعداد ردیف‌ها با گزارش نرم‌افزار حسابداری برابر باشد؛ جمع amount_rial دقیقاً با جمع همان دوره در نرم‌افزار بخواند؛ و ردیف‌های bad_amounts یکی‌یکی بررسی شوند. برای دسته‌بندی، ۱۵۰ نظر تصادفی را همکاری برچسب بزند و نرخ توافق برای هر برچسب حساب شود. توصیه ما: اگر توافق در برچسبی که برای تصمیم مهم است کمتر از حدی است که پیش‌تر با مدیر فروش توافق کرده‌اید، آن برچسب را در گزارش نیاورید.

sample = df[has_text].sample(n=150, random_state=1405)
sample.to_csv("review_sample.csv", index=False, encoding="utf-8-sig")
# after a colleague fills the human_category column:
done = pd.read_csv("review_sample_done.csv", encoding="utf-8-sig")
print(pd.crosstab(done["human_category"], done["category"]))

گام ۴: بازگشت امن به اکسل. فایل را طوری بنویسید که متن نظر مشتری هرگز فرمول نشود:

with pd.ExcelWriter(
    "sales_1405_h1_clean.xlsx",
    engine="xlsxwriter",
    engine_kwargs={"options": {"strings_to_formulas": False, "strings_to_urls": False}},
) as writer:
    df.to_excel(writer, sheet_name="data", index=False)

گام ۵: گزارش در اکسل. داده را به جدول تبدیل کنید، جدول محوری را با j_year و j_month و category بسازید و نمودار ماهانه را از همان جدول محوری بگیرید. برای پیش‌بینی، جمع ماهانه را بر پایه ستون period به برگه پیش‌بینی بدهید و پیش از انتشار، پس‌آزمایی شش‌ماهه را اجرا کنید. در پایان، یک سطر یادداشت در خود فایل بگذارید: نسخه داده، مدل استفاده‌شده، تاریخ اجرا و نام بازبین. همین سطر، گزارش را در بازبینی بعدی قابل دفاع می‌کند.

برای انتقال همین داده به سامانه حسابداری یا صف تأیید، اصول کنترل داخلی را در مقاله هوش مصنوعی در حسابداری و اتوماسیون اسناد مالی نوشته‌ایم: خروجی ماشین پیش از اثر مالی، باید قابل بازبینی انسان باشد.

پرسش‌های رایج درباره هوش مصنوعی در اکسل

آیا Copilot در اکسل رایگان است؟ طبق پرسش‌های متداول Microsoft، کاربر سازمانی با اشتراک واجد Copilot Chat دسترسی استاندارد دارد و مجوز افزوده Microsoft Copilot دسترسی اولویت‌دار می‌دهد. کاربر شخصی به Microsoft 365 Premium یا طرح اعتبار هوش مصنوعی نیاز دارد. برای کاربر مستقر در ایران، مجوز Microsoft 365 قابل تخصیص نیست.

آیا می‌توانم به فارسی از Copilot بپرسم؟ فارسی در فهرست زبان‌های رسمی نیست. ممکن است پاسخ بگیرید، اما کیفیت آن تضمین‌شده نیست؛ درخواست را به انگلیسی بنویسید و نتیجه را آزمون کنید.

تابع COPILOT چه شد؟ از ۲۳ شهریور ۱۴۰۵ حذف شده است. مقدارهای قبلی می‌مانند، اما محاسبه دوباره خطای #NAME? می‌دهد.

برای «ai در اکسل» در ایران از کجا شروع کنم؟ از پاک‌سازی داده فارسی با پاور کوئری. بعد، برای تحلیل متن و کار تکراری، پایتون محلی و مدل محلی را آزمایش کنید و برای داشبورد مدیریتی، ابتدا تعریف شاخص‌ها را بنویسید.

یادداشت منابع (بازبینی‌شده در ۲۰۲۶-۰۹-۲۴)

همه صفحه‌ها در ۲ مهر ۱۴۰۵ (۲۴ سپتامبر ۲۰۲۶) بازبینی شدند. صفحه محدودیت مجوز در microsoft.com دسترسی خودکار را مسدود می‌کرد؛ جمله مربوط به ایران از متن نمایه‌شده همان صفحه و پاسخ یک کارمند Microsoft در انجمن رسمی پرسش و پاسخ تأیید شد.

#هوش مصنوعی در اکسل#Copilot در اکسل#تحلیل داده با هوش مصنوعی#داشبورد مدیریتی#پایتون در اکسل#داده فارسی#مدل زبانی محلی

مطالب مرتبط

این ابزار را در تیم خودتان راه بیندازید

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