برای فارسی کردن اعداد در اکسل روشی وجود دارد که من بر حسب تصادف آن را پیدا کردم و تا پیش از آن در هیچ سایت فارسی این تکنیک نیامده بود و سپس با جستجو در سایت مایکروسافت متوجه شدم که آن روش استانداردی است که بدون توجه به فونت و یا تنظیمات ویندوز، تمامی اعداد را در همه نسخههای اکسل از جمله اکسل ۲۰۱۹ و ۲۰۱۶ و ... به فارسی نمایش میدهد.
قبل از شروع باید بدانید که روشهای دیگری برای فارسی کردن اعداد وجود دارد:
۱) استفاده از فونتهای سری B مانند B Nazanin و B Yekan و ...
باید بدانید که این فونتها ناقص هستند یعنی اساسا در آنها اعداد انگلیسی وجود ندارند و فقط با آنها اعداد انگلیسی به صورت فارسی نمایش داده میشوند و شما واقعا عدد فارسی را تایپ نمیکنید!!. در ضمن آنکه این فونتها بسیار قدیمی هستند و برای نمایش بر روی مانیتور طراحی نشدهاند. بنابراین اگر شما بخواهید از فونتهای جدید و خوانا استفاده کنید، باید از روش استانداردی که در ادامه آموزش میدهم، استفاده کنید.
۲) تغییر تنظیمات ویندوز در کنترل پنل:
روش دیگر و کاملا اشتباه آن است که کل اعداد ویندوز را از طریق کنترل پنل فارسی کنید که در این حالت نمیتوانید همزمان هم اعداد فارسی را تایپ کنید و هم اعداد انگلیسی را.
روش استاندارد فارسی کردن اعداد در اکسل
این کار بسیار ساده است و کافیست که کد زیر را که برای نمایش اعداد فارسی در اکسل است را در پنجره Format Cells و قسمت Custom وارد کنید.
[$-fa-IR,302]0
و یا این فرمت برای نمایش اعداد به صورت پیش فرض در اکسل:
[$-fa-IR,302]General
توجه داشته باشید که فونت با Arial یا برخی دیگر از فونتها، علامت کاما برای جدا کردن سه رقم سه رقم را در بالا می زنند و بنابراین توصیه می شود که سایر فونتهای را آزمایش کنید تا به نتیجه دلخواه برسید.
نکته: اگر کد بالا برای اکسل شما کار نکرد، کد قدیمی تر را امتحان کنید:
[$-3020429]0
[$-2020429]0
[$-fa-IR,302]#,###
[$-fa-IR,302]#,### "rials"
تبدیل اعداد انگلیسی به فارسی در فرمول نویسی
به صورت کلی با تابع TEXT در اکسل میتوانید هر آنچه را که در Format Cells اعداد ممکن است را در یک فرمول انجام دهید. بنابراین فرمول زیر اعداد انگلیسی را به صورت فارسی در میآورد:
تنظیم اعداد فارسی در نمودارهای اکسل / Excel Charts
کافی است که محور عمودی نمودار را انتخاب نمایید و سپس RightClick کنید و گزینه Format Axis را انتخاب نمایید و در قسمت تنظیمات Number این فرمت را وارد نمایید. ویدئوی زیر را ببینید:
حل مشکل تایپ اعداد فارسی در هر نرم افزاری - یکبار برای همیشه
جالب است بدانید که این مشکل در سیستم عاملهای ویندوز وجود دارد و اگر شما از لینوکسها استفاده کنید، با عوض کردن زبان به فارسی، همه اعداد فارسی خواهند بود زیرا در لینوکسها از صفحه کلید استاندارد فارسی استفاده میشود.
در نسخههای جدید ویندوز شما میتوانید به جای استفاده از صفحه کلید «غیر استاندارد ویندوز» - که البته به آن سالهاست که عادت کردهایم- از صفحه کلید «استاندارد فارسی» استفاده کنید و سپس میتوانید در هر جایی و هر نرم افزاری به سادگی اعداد فارسی را تایپ کنید. برای اینکار کافی است که به همان جایی در کنترل پنل ویندوز بروید که همیشه صفحه کلید فارسی را اضافه میکردید و اینبار صفحه کلید فارسی استاندارد را اضافه کنید. من در ویدئوی آموزشی زیر از ابتدا اضافه کردن زبان فارسی در ویندوز ۱۰ و سپس اضافه کردن کیبورد استاندارد فارسی را به شما آموزش میدهم:
حل مشکل اعداد فارسی در هر نرم افزاری با فونت وزیر
فونت وزیر یکی از زیباترین فونتهای فارسی است که بر اساس فونت Dejavou ساخته شده است و به صورت رایگان و آزاد قابل استفاده است. در این فونت که از اینجا میتوانید دانلود کنیددر پوشه Farsi-Digits تمامی ارقام انگلیسی و عربی با فارسی بازنویسی شدهاند. اگر چه این روش استاندارد نیست اما میتواند مشکل شما را حل کند.
سایر نکتهها:
اگر در سلول اکسل متنی را نوشتید و آنچنان که شما انتظار دارید آن را نمایش نداد ( یعنی متن در سلول بهم ریخته شد)، میتواند مشکل از جهت پاراگراف باشد. این مشکل وقتی به وجود میآید که متن یک سلول را با یک عدد و یا کاراکتر انگلیسی مانند * شروع کنید. در این حالت اکسل نمیتواند صحیح تشخیص دهد که جهت پاراگراف متن شما چگونه باید باشد و به صورت پیش فرض آن را از چپ به راست نمایش میدهد.
برای رفع این مشکل کافی است که جهت پاراگراف آن سلول اکسل را از حالت Context خارج کنید و بر روی گزینه Right to Left تنظیم نمایید:
نوشت تاریخ شمسی در اکسل با اعداد فارسی
متاسفانه من فرمتی مستقیم برای آن نمیشناسم و اگر میخواهید که تاریخ در اکسل به شمسی با اعداد فارسی نمایش داده شود باید از تابع TEXT برای تبدیل مانند نمونه زیر استفاده کنید که خروجی آن میشود «۱۷ مرداد ۱۴۰۴» :
=TEXT(TEXT(TODAY(), "[$-fa-IR,16]d"), "[$-fa-IR,302]#") &
TEXT(TODAY(), "[$-fa-IR,16] mmm ") &
TEXT(TEXT(TODAY(), "[$-fa-IR,16]yyy"), "[$-fa-IR,302]#")
شما هم تجربه یا دیدگاه خود را بنویسید:
در نوشتن متنها به صورت کلی (تا آنجا که من میدانم) این مشکل وجود دارد. زیرا در نرم افزارها معیاری ندارد تا متوجه شوند که یک متن انگلیسی است یا فارسی و یا اینکه کاراکترهایی مانند / را انگلیسی فرض میکند و به همین دلیل این بهم ریختگی مشاهده میشود. راه حل ساده این است که متنها را در اکسل جدا کنید و سپس در Word به صورت دلخواه کنار هم بچینید.
** پینوشت: من میدانم که کاراکترهای مختلفی وجود دارند (مانند U+200F) که به یک نرم افزار میگوید که جهت متن چگونه است اما مطمئن نیستم که استفاده از آنها ۱) در word به راحتی ممکن باشد ۲) و بتوانند این مشکل را حل کنند. (اینجا را ببینید)
با سلام.
روشی دیگر برای نشان دادن اعداد به شکل فارسی در اکسل وجود دارد که خیلی ساده ست.
به تنظیمات کلی اکسل میری. در قیمت ویرایش و کپی و پیست نامرال رو به هندی تغییر میدی.تمام.
حالا اعداد رو هم انگلیسی و هم فارسی میشه تایپ کرد
این روش فقط برای word است و در اکسل چنین چیزی نداریم :)
در ضمن در word هم تنظیم به hindi هم اشتباه است و باید بر روی Context بگذارید .
سلام جناب میدانی عزیز و بزرگوار
حدس میزنم کدهای یونیکد اعداد فارسی ای که به این روش درج میشن با کدهای اعداد فارسی ای که بصورت سنتی و با تغییر فونت درج میشن متفاوت باشن.
در اینحالت آیا در استفاده از توابع لوکاپ در حالتیکه دیتابیسمون با مثلا روش سنتی درج شده و مثلا کد کالا با استفاده از کیبورد استاندارد درج شده،به مشکل نمیخوره؟
سلام / به نکته جالبی اشاره کردید.
خوشبختانه در اکسل عدد ۱۲۳ فارسی با 123 انگلیسی یکسان است و در VLOOKUPو سایر توابع مشکلی بوجود نمیآید. در واقع وقتی شما ۱۲۳ فارسی را تایپ میکنید فقط Format Cells اکسل تغییر میکند و واقعا کاراکتر تایپ شده همان 1 انگلیسی است و اگر format cells را بر روی General تنظیم کنید خواهید دید که عدد ۱۲۳ فارسی به 123 انگلیسی تبدیل می شود.
اما این مشکل در گوگل شیت وجود دارد که من آن را به گوگل گزارش کرده ام و پیشنهاد می کنم که دیگران هم گزارش کنند.