تبدیل عدد به حروف فارسی در Excel بدون افزونه به همراه دانلود فایل اکسل رایگان
آیا میخواهید یک عدد را در Excel به حروف فارسی تبدیل کنید؟ مثلاً عدد 512992814909 به شکل:
پانصد و دوازده میلیارد و نهصد و نود و نه میلیون و دویست و چهارده هزار و نهصد و نه
نمایش داده شود؟
برای انجام این کار معمولاً از VBA، افزونههای Excel یا کدهای آماده استفاده میشود؛ اما یک روش جالب وجود دارد که بدون VBA و بدون نصب هیچ افزونهای و تنها با استفاده از فرمولهای Excel میتوان عدد را به حروف فارسی تبدیل کرد.
در این آموزش، علاوه بر توضیح روش کار، فایل آماده تبدیل عدد به حروف فارسی با فرمول نویسی Excel نیز ارائه شده است که میتوانید آن را دانلود و در سیستم خود استفاده کنید.
Contents
- 0.1. دانلود فایل تبدیل عدد به حروف فارسی در Excel
- 0.2. [دانلود فایل تبدیل عدد به حروف فارسی در Excel]
- 1. تبدیل عدد به حروف در Excel چگونه انجام میشود؟
- 2. چرا عدد را به گروههای سهرقمی تقسیم میکنیم؟
- 3. استفاده از تابع INT برای استخراج بخشهای عدد
- 4. استفاده از MOD برای استخراج باقیمانده
- 5. ساختار محاسباتی فایل
- 6. تبدیل اعداد ۱ تا ۹ به حروف
- 7. تبدیل صدگان
- 8. تبدیل اعداد ۱۰ تا ۱۹
- 9. تبدیل دهگان
- 10. نقش تابع INDEX در تبدیل عدد به حروف
- 11. چرا از چند فرمول استفاده شده است؟
- 12. فرمول اصلی تبدیل عدد به حروف
- 13. تابع TEXTJOIN چه کاری انجام میدهد؟
- 14. نمونه تبدیل یک عدد بزرگ
- 15. تبدیل صفر به حروف
- 16. اگر عدد منفی وارد کنیم چه اتفاقی میافتد؟
- 17. آیا این روش به VBA نیاز دارد؟
- 18. آیا برای استفاده از این فایل باید افزونه نصب کنیم؟
- 19. محدودیت فایل چیست؟
- 20. آیا میتوان این روش را برای اعداد اعشاری توسعه داد؟
- 21. کاربردهای تبدیل عدد به حروف در Excel
- 22. تبدیل مبلغ ریالی به حروف
- 23. نکته مهم درباره نسخه Excel
- 24. آیا میتوان این فرمول را در فایلهای دیگر استفاده کرد؟
- 25. پرسشهای متداول
- 25.1. چگونه عدد را در Excel به حروف فارسی تبدیل کنیم؟
- 25.2. آیا تبدیل عدد به حروف در Excel بدون VBA امکانپذیر است؟
- 25.3. آیا برای تبدیل عدد به حروف Excel افزونه لازم است؟
- 25.4. آیا این فایل اعداد میلیاردی را تبدیل میکند؟
- 25.5. آیا اعداد منفی نیز تبدیل میشوند؟
- 25.6. آیا عدد اعشاری نیز به حروف تبدیل میشود؟
- 25.7. آیا میتوان از این فرمول برای مبلغ چک و فاکتور استفاده کرد؟
- 25.8. آیا میتوان تبدیل عدد به حروف را با VBA انجام داد؟
- 25.9. جمعبندی
- 25.10. مقالات مرتبط پیشنهادی
دانلود فایل تبدیل عدد به حروف فارسی در Excel
در فایل آموزشی ارائهشده توسط انتشارات و آکادمی آموزشی اشکاوند، تبدیل عدد به حروف با استفاده از فرمولهای Excel انجام شده است.
ویژگی مهم این فایل این است که:
- نیازی به VBA ندارد.
- نیازی به Macro ندارد.
- نیازی به نصب Add-in ندارد.
- از کدنویسی خارجی استفاده نمیکند.
- تبدیل عدد به حروف با فرمولهای خود Excel انجام میشود.
- برای اعداد صحیح تا ۹۹۹٬۹۹۹٬۹۹۹٬۹۹۹ طراحی شده است.
- میتوانید عدد را مستقیماً در سلول مشخصشده وارد کنید.
- نتیجه به زبان فارسی نمایش داده میشود.
[دانلود فایل تبدیل عدد به حروف فارسی در Excel]
تبدیل عدد به حروف در Excel چگونه انجام میشود؟
Excel بهصورت پیشفرض تابع مستقیمی مانند:
=NUMBERTOWORDS()
برای تبدیل عدد به حروف فارسی ندارد.
بنابراین باید این کار را با ترکیب چند قابلیت Excel انجام دهیم.
ایده اصلی این روش بسیار ساده است:
ابتدا عدد را به گروههای سهرقمی تبدیل می کنیم سپس هر گروه را به حروف تبدیل کرده و سپس واحد گروه را اضافه کرده و ترکیب نهایی را بر اساس آن می سازیم.
برای مثال عدد زیر را در نظر بگیرید:
512992814909
این عدد به گروههای سهرقمی تقسیم میشود:
512 | 992 | 814 | 909
که به ترتیب نشاندهنده:
512 میلیارد
992 میلیون
814 هزار
909
هستند.
بنابراین هر گروه جداگانه به حروف تبدیل شده و در نهایت با یکدیگر ترکیب میشوند.
چرا عدد را به گروههای سهرقمی تقسیم میکنیم؟
سیستم عددنویسی فارسی مانند بسیاری از زبانها بر پایه گروههای سهرقمی عمل میکند.
برای مثال:
1,000 هزار
1,000,000 میلیون
1,000,000,000 میلیارد
بنابراین برای تبدیل عدد به حروف، یکی از بهترین روشها این است که عدد را به گروههای سهرقمی تقسیم کنیم.
در این فایل، عدد به چهار بخش تقسیم شده است:
| گروه | بازه | واحد |
|---|---|---|
| G3 | میلیارد | میلیارد |
| G2 | میلیون | میلیون |
| G1 | هزار | هزار |
| G0 | یکان | بدون واحد |
مثلاً:
512,992,814,909
به این شکل تقسیم میشود:
512 میلیارد
992 میلیون
814 هزار
909
استفاده از تابع INT برای استخراج بخشهای عدد
برای استخراج قسمت میلیاردی عدد میتوان از تابع INT استفاده کرد.
در فایل نمونه، برای گروه میلیارد از فرمول زیر استفاده شده است:
=INT($B$4/1000000000)
فرض کنیم عدد اصلی در سلول B4 قرار دارد.
اگر مقدار B4 برابر باشد با:
512992814909
فرمول:
=INT(B4/1000000000)
نتیجه زیر را برمیگرداند:
512
یعنی بخش میلیاردی عدد استخراج شده است.
استفاده از MOD برای استخراج باقیمانده
بعد از استخراج میلیارد، باید باقیمانده عدد را نیز به دست بیاوریم.
برای این کار از تابع MOD استفاده میکنیم.
در فایل نمونه:
=MOD($B$4,1000000000)
این فرمول بخش باقیمانده بعد از میلیارد را استخراج میکند.
برای عدد:
512992814909
نتیجه:
992814909
خواهد بود.
سپس همین روش برای میلیون، هزار و بخش یکان نیز تکرار میشود.
ساختار محاسباتی فایل
فایل تبدیل عدد به حروف اشکاوند از چند مرحله تشکیل شده است.
مرحله اول: دریافت عدد
کاربر عدد را در سلول ورودی قرار میدهد.
مثلاً:
512992814909
مرحله دوم: استخراج میلیارد
=INT(B4/1000000000)
مرحله سوم: استخراج باقیمانده
=MOD(B4,1000000000)
مرحله چهارم: استخراج میلیون
=INT(B13/1000000)
مرحله پنجم: استخراج هزار
=INT(B15/1000)
مرحله ششم: استخراج بخش یکان
=MOD(B15,1000)
در نهایت هر یک از این بخشها به حروف تبدیل و با واحد مربوط به خود ترکیب میشوند.
تبدیل اعداد ۱ تا ۹ به حروف
برای تبدیل اعداد به حروف فارسی، فایل از یک جدول کمکی استفاده میکند.
این جدول شامل مقادیر زیر است:
| عدد | حروف |
| 1 | یک |
| 2 | دو |
| 3 | سه |
| 4 | چهار |
| 5 | پنج |
| 6 | شش |
| 7 | هفت |
| 8 | هشت |
| 9 | نه |
سپس با استفاده از تابع INDEX مقدار مناسب از جدول استخراج میشود.
مثلاً اگر رقم یکان برابر ۵ باشد، فرمول میتواند مقدار:
پنج
را از جدول کمکی دریافت کند.
تبدیل صدگان
برای صدگان نیز جدول جداگانهای وجود دارد:
| عدد | حروف |
| 1 | صد |
| 2 | دویست |
| 3 | سیصد |
| 4 | چهارصد |
| 5 | پانصد |
| 6 | ششصد |
| 7 | هفتصد |
| 8 | هشتصد |
| 9 | نهصد |
بنابراین اگر بخش صدگان عدد برابر ۵ باشد، خروجی:
پانصد
خواهد بود.
تبدیل اعداد ۱۰ تا ۱۹
اعداد ۱۰ تا ۱۹ در فارسی الگوی متفاوتی دارند و نمیتوان آنها را مانند دهگان و یکان عادی ترکیب کرد.
برای همین در فایل جدول جداگانهای برای این اعداد وجود دارد:
| عدد | حروف |
| 10 | ده |
| 11 | یازده |
| 12 | دوازده |
| 13 | سیزده |
| 14 | چهارده |
| 15 | پانزده |
| 16 | شانزده |
| 17 | هفده |
| 18 | هجده |
| 19 | نوزده |
این جدول باعث میشود مثلاً عدد ۱۸ بهدرستی:
هجده
تبدیل شود، نه اینکه به شکل ترکیبی «ده و هشت» نمایش داده شود.
تبدیل دهگان
برای دهگان نیز جدول دیگری در فایل قرار گرفته است:
| عدد | حروف |
| 20 | بیست |
| 30 | سی |
| 40 | چهل |
| 50 | پنجاه |
| 60 | شصت |
| 70 | هفتاد |
| 80 | هشتاد |
| 90 | نود |
به این ترتیب عدد:
57
به:
پنجاه و هفت
تبدیل میشود.
نقش تابع INDEX در تبدیل عدد به حروف
یکی از توابع کلیدی استفادهشده در این فایل INDEX است.
تابع INDEX میتواند یک مقدار را از یک محدوده مشخص استخراج کند.
برای مثال اگر جدول زیر داشته باشیم:
یک
دو
سه
چهار
پنج
شش
هفت
هشت
نه
میتوان بر اساس شماره موردنظر، مقدار متناظر را دریافت کرد.
این قابلیت برای تبدیل ارقام به متن بسیار مناسب است.
چرا از چند فرمول استفاده شده است؟
شاید این سؤال مطرح شود که چرا تبدیل عدد به حروف در فایل با یک فرمول بسیار طولانی انجام نشده است.
دلیل آن خوانایی و مدیریت بهتر محاسبات است.
در این فایل، ابتدا بخشهای مختلف عدد در سلولهای جداگانه محاسبه میشوند:
گروه میلیارد
باقیمانده پس از میلیارد
گروه میلیون
باقیمانده پس از میلیون
گروه هزار
گروه یکان
سپس خروجی آنها در فرمول نهایی با یکدیگر ترکیب میشود.
این روش باعث میشود ساختار محاسبات قابل بررسیتر باشد.
فرمول اصلی تبدیل عدد به حروف
در فایل نمونه، خروجی نهایی با یک فرمول اصلی ساخته میشود که از TEXTJOIN برای ترکیب بخشهای مختلف استفاده میکند.
ساختار کلی آن به شکل زیر است:
=IF(B4<0,"لطفاً عدد مثبت وارد کنید",
IF(B4=0,"صفر",
TEXTJOIN(" و ",TRUE(),
...
)))
قسمت اول بررسی میکند که عدد منفی نباشد.
اگر عدد صفر باشد:
صفر
نمایش داده میشود.
در غیر این صورت، گروههای میلیارد، میلیون، هزار و یکان با عبارت:
و
به یکدیگر متصل میشوند.
تابع TEXTJOIN چه کاری انجام میدهد؟
تابع TEXTJOIN برای ترکیب چند متن استفاده میشود.
ساختار کلی آن:
=TEXTJOIN(delimiter,ignore_empty,text1,text2,...)
در فایل ما جداکننده:
و
است.
بنابراین اگر بخشهای عدد این باشند:
پانصد و دوازده میلیارد
نهصد و نود و نه میلیون
دویست و چهارده هزار
نهصد و نه
تابع TEXTJOIN آنها را به یک عبارت تبدیل میکند:
پانصد و دوازده میلیارد و نهصد و نود و نه میلیون و دویست و چهارده هزار و نهصد و نه
نمونه تبدیل یک عدد بزرگ
عدد زیر را وارد کنیم:
512992814909
تقسیم آن:
512 | 992 | 814 | 909
بنابراین:
512 میلیارد
992 میلیون
814 هزار
909
و خروجی نهایی:
پانصد و دوازده میلیارد و نهصد و نود و نه میلیون و هشتصد و چهارده هزار و نهصد و نه
خواهد بود.
تبدیل صفر به حروف
اگر عدد ورودی برابر با:
0
باشد، خروجی:
صفر
خواهد بود.
این حالت در فرمول اصلی فایل بهصورت جداگانه بررسی شده است:
=IF(B4=0,"صفر",...)
اگر عدد منفی وارد کنیم چه اتفاقی میافتد؟
فایل برای اعداد منفی نیز یک کنترل در نظر گرفته است.
در فرمول اصلی:
=IF(B4<0,"لطفاً عدد مثبت وارد کنید",...)
اگر کاربر عدد منفی وارد کند، بهجای تبدیل آن، پیام زیر نمایش داده میشود:
لطفاً عدد مثبت وارد کنید
این موضوع باعث میشود کاربر متوجه شود که ابزار برای اعداد مثبت طراحی شده است.
آیا این روش به VBA نیاز دارد؟
خیر.
یکی از ویژگیهای مهم این فایل این است که تبدیل عدد به حروف با فرمولهای Excel انجام شده و VBA در آن استفاده نشده است.
بنابراین نیازی به نوشتن کد VBA یا ایجاد یک تابع سفارشی در محیط Visual Basic وجود ندارد.
آیا برای استفاده از این فایل باید افزونه نصب کنیم؟
خیر.
این فایل بهصورت مستقل طراحی شده و برای تبدیل عدد به حروف به Add-in جداگانه نیاز ندارد.
به همین دلیل برای سیستمهایی که اجازه نصب افزونه یا اجرای Macro ندارند، میتواند راهکار مناسبی باشد؛ البته نسخه Excel مورد استفاده باید از توابع بهکاررفته در فایل پشتیبانی کند.
محدودیت فایل چیست؟
در توضیح فایل ارائهشده، محدوده پشتیبانی ابزار:
۰ تا ۹۹۹٬۹۹۹٬۹۹۹٬۹۹۹
اعلام شده است.
یعنی حداکثر عدد قابل تبدیل:
999,999,999,999
است.
همچنین طبق توضیح فایل، اگر عدد اعشاری وارد شود، فقط بخش صحیح عدد برای تبدیل به حروف در نظر گرفته میشود.
بنابراین این ابزار برای تبدیل اعداد صحیح طراحی شده است.
آیا میتوان این روش را برای اعداد اعشاری توسعه داد؟
بله، اما نیازمند تغییر ساختار فرمول است.
برای مثال عدد:
125.75
میتواند به شکل:
صد و بیست و پنج ممیز هفتاد و پنج صدم
تبدیل شود.
برای این کار باید بخش صحیح و اعشاری عدد جداگانه پردازش شوند.
فایل فعلی برای این حالت طراحی نشده و طبق توضیح آن، فقط بخش صحیح عدد تبدیل میشود.
کاربردهای تبدیل عدد به حروف در Excel
تبدیل عدد به حروف در پروژههای مختلف کاربرد دارد؛ از جمله:
فاکتور و فروش
نمایش مبلغ فاکتور به حروف.
چک و اسناد مالی
تبدیل مبلغ عددی به متن فارسی.
قراردادها
نمایش مبالغ به صورت حروف.
گزارشهای مالی
نمایش مبلغ عددی و متنی در یک گزارش.
فرمهای اداری
تبدیل خودکار مبالغ به حروف.
سیستمهای حسابداری
استفاده از فرمول Excel برای تولید متن مبلغ.
تبدیل مبلغ ریالی به حروف
یکی از کاربردهای رایج این روش، نمایش مبلغ فاکتور به حروف است.
مثلاً اگر مبلغ در سلول B4 قرار داشته باشد، میتوان خروجی را در سلول دیگری نمایش داد.
در یک سیستم مالی ممکن است خروجی به این شکل استفاده شود:
مبلغ قابل پرداخت: پانصد و دوازده میلیارد و نهصد و نود و نه میلیون و هشتصد و چهارده هزار و نهصد و نه ریال
البته برای اضافه کردن واحد پول مانند «ریال» یا «تومان» میتوان متن نهایی را با فرمول دیگری ترکیب کرد.
نکته مهم درباره نسخه Excel
از آنجا که فایل از توابعی مانند TEXTJOIN استفاده میکند، قبل از استفاده در نسخههای بسیار قدیمی Excel باید سازگاری نسخه Excel خود را بررسی کنید.
در نسخههای جدید Microsoft Excel، این توابع بهصورت عادی قابل استفاده هستند.
اگر فایل را در نسخهای باز میکنید که تابع مورد استفاده را پشتیبانی نمیکند، ممکن است فرمول بهدرستی محاسبه نشود.
آیا میتوان این فرمول را در فایلهای دیگر استفاده کرد؟
بله.
میتوانید ساختار فایل را به فایل Excel خود منتقل کنید؛ اما باید جدولهای کمکی و ارجاعات فرمولها نیز همراه آن منتقل شوند.
اگر فقط فرمول اصلی را کپی کنید ولی جداول کمکی را منتقل نکنید، فرمول ممکن است نتیجه صحیح ندهد.
بنابراین سادهترین روش این است که از فایل آماده استفاده کنید یا ساختار آن را بهصورت کامل به فایل مقصد منتقل کنید.
پرسشهای متداول
چگونه عدد را در Excel به حروف فارسی تبدیل کنیم؟
Excel تابع داخلی مستقیمی برای تبدیل عدد به حروف فارسی ندارد، اما میتوان با ترکیب توابعی مانند IF، INT، MOD، INDEX و TEXTJOIN این کار را انجام داد.
آیا تبدیل عدد به حروف در Excel بدون VBA امکانپذیر است؟
بله. با طراحی مناسب فرمولها و استفاده از جدولهای کمکی میتوان بدون VBA عدد را به حروف فارسی تبدیل کرد.
آیا برای تبدیل عدد به حروف Excel افزونه لازم است؟
خیر. روش ارائهشده در این آموزش بدون نصب افزونه انجام میشود.
آیا این فایل اعداد میلیاردی را تبدیل میکند؟
بله. فایل ارائهشده برای اعداد صحیح از صفر تا ۹۹۹٬۹۹۹٬۹۹۹٬۹۹۹ طراحی شده است.
آیا اعداد منفی نیز تبدیل میشوند؟
خیر. فایل برای عدد منفی پیام «لطفاً عدد مثبت وارد کنید» نمایش میدهد.
آیا عدد اعشاری نیز به حروف تبدیل میشود؟
در نسخه فعلی فایل، فقط بخش صحیح عدد تبدیل میشود و بخش اعشاری پردازش نمیشود.
آیا میتوان از این فرمول برای مبلغ چک و فاکتور استفاده کرد؟
بله، میتوان خروجی را در فرمها و گزارشهای مالی استفاده کرد؛ البته باید متناسب با نیاز، واحد پول مانند «ریال» یا «تومان» نیز به متن اضافه شود.
آیا میتوان تبدیل عدد به حروف را با VBA انجام داد؟
بله، VBA یکی از روشهای رایج برای این کار است؛ اما فایل حاضر با هدف ارائه راهکار بدون VBA و بدون افزونه طراحی شده است.
جمعبندی
تبدیل عدد به حروف یکی از قابلیتهایی است که Excel بهصورت پیشفرض برای زبان فارسی در اختیار کاربر قرار نمیدهد؛ اما با ترکیب چند تابع قدرتمند Excel و استفاده از جدولهای کمکی میتوان این قابلیت را بدون VBA و بدون نصب افزونه ایجاد کرد.
در فایل ارائهشده، عدد ابتدا به گروههای سهرقمی میلیارد، میلیون، هزار و یکان تقسیم میشود. سپس هر گروه با استفاده از جدولهای کمکی و توابعی مانند INDEX، INT و MOD به حروف تبدیل شده و در پایان با TEXTJOIN به یک عبارت فارسی کامل تبدیل میشود.
این روش میتواند برای فاکتورها، فرمهای مالی، قراردادها، گزارشها، مبالغ ریالی و بسیاری از فایلهای اداری Excel کاربرد داشته باشد.
اگر به دنبال یادگیری حرفهای Excel هستید، تبدیل عدد به حروف تنها یکی از دهها کاربردی است که میتوان با ترکیب توابع Excel و فرمولنویسی حرفهای ایجاد کرد.
مقالات مرتبط پیشنهادی
درباره ایمان اشکاوند راد
مدیر فناوری و طراح و مشاور سیستم های نرم افزاری، مدرس دانشگاه با بیش از ۱۸ سال سابقه تدریس مهارت ها و دروس کامپیوتری در دانشگاه ها و شرکتهای مختلف، مولف مجموعه کتابهای بیت، تولید بسته های آموزشی کامپیوتر، علاقه مند به حوزه های پایگاه داده، BI، برنامه نویسی، اکسل و آفیس، مدیر انتشارات و آکادمی آموزشی اشکاوند
نوشتههای بیشتر از ایمان اشکاوند راد






دیدگاهتان را بنویسید