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

این راهنما برای کارشناس مالی، حسابدار، تحلیلگر عملیات و هر کسی نوشته شده که روزش با فایل اکسل میگذرد و میخواهد بداند هوش مصنوعی در اکسل واقعاً چه کاری از دستش برمیآید، کدام قابلیتها برای کاربر ایرانی در دسترس نیست و چطور میتوان پاکسازی داده، فرمولنویسی، گزارش و پیشبینی را سریعتر کرد بیآنکه داده مالی شرکت به خطر بیفتد. جستوجوی «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.
پیش از انتخاب ابزار، روشن کنید هر قابلیت دقیقاً چه میکند و چه شرطی دارد. جدول زیر خلاصه مستندات رسمی در تاریخ بازبینی این مقاله است. ستون آخر، نکتهای است که برای داده فارسی اهمیت دارد.
| قابلیت | چه میکند | شرط دسترسی طبق مستندات | نکته برای داده فارسی |
|---|---|---|---|
| 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 میتواند ستون یا ردیف تازهای بسازد که از داده موجود محاسبه میشود، برای یک سلول فرمول دقیق پیشنهاد دهد، با فرمولی مثل XLOOKUP مقدار را از کاربرگ دیگر بیاورد و فرمولهای پیچیده فایلهای بهارثرسیده را توضیح دهد. همین صفحه میگوید هر چه پرسش دقیقتر باشد و نام ستونها را صریحتر بیاورید، نتیجه بهتر است.
سه عادت کار را قابلاعتمادتر میکند. اول، خروجی مورد انتظار را بگویید: «ستونی بساز که حاشیه سود هر فاکتور را به درصد نشان دهد و خالیها را صفر در نظر نگیرد». دوم، برای تغییرهای چندمرحلهای در فایل مشترک، حالت برنامه را انتخاب کنید تا پیش از اجرا، نقشه را ببینید. سوم، چون فارسی رسماً پشتیبانی نمیشود، توصیه ما این است که درخواست را به انگلیسی بنویسید و به ستونها با حرف ستون یا یک نام انگلیسی کمکی اشاره کنید، ولی داده را فارسی نگه دارید.
اسکرینشات رسمی 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 اکسل نوشته است که این ابزار ممکن است اشتباه کند و از به کار بردن آن برای تصمیم در حوزههای حساسی مثل امور مالی، حقوقی و پزشکی پرهیز کنید. برای تیم مالی معنای عملی این جمله روشن است: فرمول تولیدشده پیشنویس است و تا آزمون نشود وارد گزارش رسمی نمیشود. این فهرست را برای هر فرمولی که به صورت مالی یا گزارش مدیریت میرسد اجرا کنید:
SUMIFS، مقایسه کنید. اختلاف باید دقیقاً صفر باشد، نه «تقریباً».XLOOKUP حالت تطبیق دقیق و مقدار «یافت نشد» صریح باشد تا خطا بیصدا به صفر تبدیل نشود.خطر دیگری هم هست که کمتر دیده میشود: متنی که هوش مصنوعی تولید یا خلاصه میکند، اگر با = یا + یا @ شروع شود، ممکن است هنگام ورود به کاربرگ به فرمول تبدیل شود. جزئیات و آزمون آن را در راهنمای تبدیلنشدن متن خروجی هوش مصنوعی به فرمول در اکسل نوشتهایم.
راهنمای شروع Copilot میگوید این ابزار نمودار و جدول محوری را با پیوند قابل ویرایش به داده منبع میسازد و حتی میتواند داشبورد و قالب برنامهریزی را از صفر بچیند. قابلیت قدیمیتر تحلیل داده هم پرسش زبان طبیعی را به نمودار و جدول محوری پیشنهادی تبدیل میکند، اما فقط شش زبان را میشناسد و بیش از ۱٫۵ میلیون سلول را تحلیل نمیکند. هر دو برای «اولین نسخه» عالیاند؛ مشکل از جایی شروع میشود که همین نسخه اول، بیآنکه کسی تعریف شاخصها را بنویسد، داشبورد رسمی ماهانه شود.
برای کار ایرانی یک دام خاص وجود دارد: گروهبندی خودکار تاریخ در جدول محوری بر اساس ماه میلادی است، نه ماه شمسی. راه درست، جدول تقویم است: جدولی که برای هر روز، تاریخ میلادی، سال و ماه و فصل شمسی و برچسب «۱۴۰۵-۰۶» را دارد و داده فروش با تاریخ میلادی به آن وصل میشود. آنوقت جدول محوری را با ستونهای شمسی گروهبندی میکنید.
داشبورد مدیریتی قابلاعتماد از نمودار زیبا شروع نمیشود. هر شاخص باید یک تعریف، یک مالک و یک منبع داشته باشد؛ کاربرگ داده از کاربرگ نمایش جدا باشد؛ و بهروزرسانی با پاور کوئری انجام شود، نه با کپی و چسباندن. اگر داشبورد مدیریتی شما از چند فایل اکسل پراکنده و چند نرمافزار تغذیه میشود و هر ماه دو گزارش با دو عدد متفاوت تولید میکند، مسئله دیگر فرمول نیست، لایه داده است؛ این همان جایی است که خدمت تحلیل داده و داشبورد مدیریتی با هوش مصنوعی از آن شروع میکند.
برای پیشبینی فروش یا هزینه، به چتبات نگویید «ماه بعد چقدر میفروشیم». مدل زبانی مدل پیشبینی نیست و پاسخش نه تکرارپذیر است و نه بازه خطا دارد. اکسل ابزار آماری شفافی دارد: طبق راهنمای ساخت پیشبینی، برگه پیشبینی از نسخه AAA الگوریتم هموارسازی نمایی استفاده میکند، فصلی بودن را خودش تشخیص میدهد، تا ۳۰ درصد نقطه گمشده را تحمل میکند و بهطور پیشفرض بازه اطمینان ۹۵ درصد را نشان میدهد.
شرط اصلی این است که فاصله نقطههای زمانی یکسان باشد. ماههای شمسی ۲۹ تا ۳۱ روزند و تاریخ شروعشان در تقویم میلادی جابهجا میشود. چون همین راهنما فاصله عددی را هم میپذیرد، توصیه ما این است که بهجای تاریخ، یک نمایه دوره بسازید: فروردین ۱۴۰۴ دوره ۱، اردیبهشت دوره ۲ و به همین ترتیب. داده را هم پیش از پیشبینی در سطح ماه جمع بزنید، چنانکه Microsoft توصیه میکند.
پیشبینی را بدون پسآزمایی قبول نکنید. شش ماه آخر را کنار بگذارید، با داده قبلی پیشبینی کنید و خطا را با یک روش ساده مقایسه کنید، مثلاً «همان ماه سال قبل». اگر مدل از روش ساده بهتر نیست، پیچیدگیاش ارزش ندارد. در فروش کالا، ماههایی که موجودی تمام شده بود فروش را کمتر از تقاضا نشان میدهند؛ این خطا را در مقاله قفسه خالی و پیشبینی تقاضا توضیح دادهایم.
راهنمای Microsoft میگوید Copilot میتواند متنهای زیاد مثل نظر مشتری و پاسخ نظرسنجی را خلاصه کند، موضوعها و احساس غالب را پیدا کند و نتیجه را بهصورت ستون تازه به فایل اضافه کند. برای متن فارسی، با توجه به فهرست زبانها، این قابلیت را تا وقتی روی نمونه خودتان نسنجیدهاید پشتیبانیشده فرض نکنید.
روش درست، مستقل از ابزار، این است:
اکسل تاریخ را به شکل عدد پیاپی بر پایه تقویم میلادی ذخیره میکند. قالب نمایش هر چه باشد، YEAR و MONTH و گروهبندی جدول محوری با تقویم میلادی کار میکنند. در اکسل ویندوز میتوان با قالب سفارشی و کد زبان فارسی، همان تاریخ را شمسی نمایش داد؛ کاربران ایرانی معمولاً آن را به شکل [$-fa-IR,16]yyyy/mm/dd مینویسند. این کد را روی نسخه خودتان آزمایش کنید و بدانید که فقط نمایش را عوض میکند، نه محاسبه را.
تاریخ شمسیای که از نرمافزار حسابداری بهصورت متن، مثل «۱۴۰۵/۰۶/۳۱»، میآید، باید یکبار به تاریخ واقعی تبدیل شود. دو راه مطمئن وجود دارد: جدول تقویمی که یکبار ساخته و در همه گزارشها استفاده میشود، یا تبدیل در پایتون محلی پیش از ورود به اکسل. پایتون در اکسل برای این کار مناسب نیست، چون طبق صفحه امنیت داده پایتون در اکسل کد در محفظه ابری Microsoft و بدون دسترسی به شبکه اجرا میشود و با کتابخانههای از پیش تعیینشده کار میکند.
درباره مبلغ، سه قاعده ساده بیشتر خطاها را میگیرد. هر تومان ده ریال است؛ در داده فقط یک واحد نگه دارید و واحد را در نام ستون بنویسید، مثل «مبلغ_ریال». تبدیل به تومان یا میلیون ریال فقط در لایه نمایش انجام شود و هرگز دو واحد در یک ستون نیاید. واحد را در متن درخواست به هوش مصنوعی هم صریح بگویید. و به دقت عدد توجه کنید: طبق مشخصات و محدودیتهای اکسل، دقت عددی ۱۵ رقم است. جمع سالانه ریالی یک شرکت بزرگ میتواند از این مرز بگذرد و رقمهای آخرش بیصدا گرد شود؛ گزارش در سطح میلیون ریال یا نگهداشتن دفتر اصلی در نرمافزار حسابداری این خطر را برطرف میکند.
نبود Copilot به معنای نبود هوش مصنوعی در اکسل نیست. این مسیرها با ابزارهایی کار میکنند که سازمان میتواند بهطور مشروع تهیه کند:
XLOOKUP و پیشبینی آماری در نرمافزار صفحهگستردهای که مجوز استفادهاش را دارید، بخش بزرگ کار را بدون هیچ سرویس بیرونی انجام میدهند.آنچه در این فهرست نیست هم مهم است: حساب شخصی چتباتهای عمومی برای داده شرکت، و هر راهی که به دورزدن شرایط مجوز تکیه کند.
صفحه حفاظت داده سازمانی 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 در انجمن رسمی پرسش و پاسخ تأیید شد.

اجرای بیخطای پرسوجو، جمع فروش را تضمین نمیکند. راهنمای تشخیص چندبارشماری سفارش، اصلاح اتصال جدولها و آزمون عددی که دستیار هوش مصنوعی گزارش میدهد.
ادامه مطلب
هوش مصنوعی ممکن است همه رقمها را درست بخواند و معنای جدول را گم کند. پیش از پذیرش گزارش، رابطه هر عدد با سرستون، واحد و یادداشت مربوط به آن را بررسی کنید.
ادامه مطلب
نصب Cursor در ویندوز، مک و لینوکس، Tab، ویرایش درونخطی، حالتهای ایجنت و Plan، فایلهای rules، MCP، حریم خصوصی، قیمتها و وضعیت دسترسی کاربران ایران را یاد بگیرید.
ادامه مطلباگر میخواهید ایجنتهای هوش مصنوعی و اتوماسیون این راهنما را در تیم نرمافزار یا فرایندهای سازمانتان به کار بگیرید، با یک پایلوت کوچک و قابل اندازهگیری شروع کنید.