تحويل تحويل إلى كلمات في الروبية الهندية وعملات أخرى في Excel (إصدار 2025)
إليك طريقة تحويل الأرقام إلى كلمات بالروبية الهندية — أو بأي عملة أخرى — في Excel.
عند التعامل مع المستندات المالية—مثل الفواتير والعروض الضريبية ونماذج الضرائب والشيكات وأذونات الدفع—غالبًا ما يكون من الضروري تمثيل قيم العملات بالأرقام والكلمات معًا في تنسيق Word، مما يضفي لمسة احترافية ويساعد على منع الاحتيال أو سوء التفسير.
مثال
على الرغم من أن Microsoft Excel لا يحتوي على ميزة مدمجة لتحويل الأرقام إلى كلمات، إلا أن هناك عدة طرق فعّالة لتحقيق ذلك—باستخدام VBA أو دوال LAMBDA أو الإضافة الشاملة Kutools لـ Excel.
تحويل تحويل إلى كلمات في الروبية الهندية باستخدام VBA (جميع إصدارات Microsoft)
تحويل الأرقام إلى USD وEUR و30+ عملات أخرى (جميع إصدارات Microsoft)
تحويل تحويل إلى كلمات في الروبية الهندية باستخدام VBA (جميع إصدارات Microsoft)
يوفّر VBA (Visual Basic for Applications) للمستخدمين الذين يستخدمون أي إصدار من Excel طريقة قابلة للتخصيص لتحويل المبالغ الرقمية إلى كلمات وفق النظام الهندي للأرقام (مثل الآلاف، واللاك، والكروڑ).
الخطوة 1. اضغطAlt+F11 لفتح محرر VBA (نافذة Microsoft Visual Basic for Applications).

الخطوة 2. انتقل إلىإدراج > وحدة نمطية.

الخطوة 3. الصق كود VBA في الوحدة النمطية.
تحويل الأرقام إلى كلمات في الروبية الهندية
Function ConvertToRupees(ByVal MyNumber)
'UpdatebyExtendoffice
Dim Units As String, SubUnits As String, TempStr As String
Dim DecimalPlace As Integer, Count As Integer
Dim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Lakh "
Place(4) = " Crore "
MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, ".")
If DecimalPlace > 0 Then
SubUnits = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
TempStr = GetHundreds(Right(MyNumber, 3))
If TempStr <> "" Then Units = TempStr & Place(Count) & Units
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
ConvertToRupees = "Rupees " & Application.WorksheetFunction.Trim(Units)
If SubUnits <> "" Then
ConvertToRupees = ConvertToRupees & " and " & SubUnits & " Paise"
End If
ConvertToRupees = ConvertToRupees & " Only"
End Function
Private Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function
Private Function GetTens(TensText)
Dim Result As String
If Val(Left(TensText, 1)) = 1 Then
Select Case Val(TensText)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
End Select
Else
Select Case Val(Left(TensText, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
End Select
Result = Result & GetDigit(Right(TensText, 1))
End If
GetTens = Result
End Function
Private Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function

الخطوة 4. احفظ الملف وعُد إلى Excel.
الخطوة 5. حدد الخلية التي ترغب بها، ثم طبّق الصيغة بهذه الطريقة:
اضغطEnterالمفتاح

💡تلميح: تدعم هذه الطريقة الأرقام العشرية (البيسة) وتعمل دون الحاجة إلى اتصال بالإنترنت.
قيود استخدام VBA
- يتطلب حفظ الملف بتنسيق يدعم ماكروات Excel (.xlsm).
- قد تحظر إعدادات الأمان تشغيل الماكرو في بعض البيئات.
تحويل تحويل إلى كلمات إلى عملات أخرى (مثل USD وEUR)
لتخصيص الناتج لعملات أخرى، مثل «دولارات» أو «يورو»، يمكنك ببساطة تعديل قيم النصوص في دالة VBA. إليك نسخة مبسَّطة وأكثر مرونة من الدالة.
قالب كود VBA المرن (عملة مخصصة)
'UpdatebyExtendoffice
Public Function NumberToWordsCustom(ByVal num As Double, Optional ByVal currency2 As String, Optional ByVal subCurrency As String) As String
Dim result As String
Dim dollars As Long
Dim cents As Long
dollars = Int(num)
cents = Round((num - dollars) * 100)
If Len(currency2) = 0 Then currency2 = "Dollars"
If Len(subCurrency) = 0 Then subCurrency = "Cents"
result = currency2 & " " & SpellNumber_English(dollars)
If cents > 0 Then
result = result & " and " & SpellNumber_English(cents) & " " & subCurrency
End If
NumberToWordsCustom = result & " Only"
End Function
Private Function SpellNumber_English(ByVal MyNumber As Long) As String
Dim Units As Variant, Tens As Variant, Teens As Variant
Dim Place() As String
Dim TempStr As String
Dim Count As Integer
Dim t As String
Dim StrNumber As String
Dim n As Integer
Place = Split(" Thousand Million Billion", " ")
Units = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine")
Tens = Array("", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
Teens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
StrNumber = Trim(Str(MyNumber))
Count = 0
Do While StrNumber <> ""
n = Val(Right(StrNumber, 3))
If n <> 0 Then
t = ConvertHundreds(n, Units, Tens, Teens)
If Count > 0 Then t = t & " " & Place(Count - 1)
TempStr = t & " " & TempStr
End If
If Len(StrNumber) > 3 Then
StrNumber = Left(StrNumber, Len(StrNumber) - 3)
Else
StrNumber = ""
End If
Count = Count + 1
Loop
SpellNumber_English = Trim(TempStr)
End Function
Private Function ConvertHundreds(ByVal n As Integer, Units As Variant, Tens As Variant, Teens As Variant) As String
Dim result As String
If n >= 100 Then
result = Units(Int(n / 100)) & " Hundred "
n = n Mod 100
End If
If n >= 20 Then
result = result & Tens(Int(n / 10)) & " "
n = n Mod 10
ElseIf n >= 10 Then
result = result & Teens(n - 10) & " "
n = 0
End If
If n > 0 Then
result = result & Units(n)
End If
ConvertHundreds = Trim(result)
End Function
مثال على صيغة VBA:

مثال على صيغة VBA لعملة أخرى:
=NumberToWordsCustom(A2, «Euros», «Cents»)
=NumberToWordsCustom(A2, «Pounds», «Pence»)
الكود مرن—ما عليك سوى تمرير العملة والوحدة الفرعية التي تريدها.
احفظ ملفك كملف يدعم الماكرو
إذا كنت تستخدم VBA، فاحفظ ملفك كملف مُمكَّن للماكرو؛ وإلا، فسيُفقد الكود بمجرد إغلاق الملف.
الخطوة 1. انتقل إلىملف > حفظ باسم

الخطوة 2. حدد الموقع، ثم اختر نوع الملف: ملف Excel الذي يدعم الماكرو (*.xlsm).

الخطوة 3. انقرحفظ.
✅ ستظل دوالك المخصصة مثل =ConvertToRupees(A2) متاحة الآن وقابلة لإعادة الاستخدام في أي وقت.
تحويل تحويل إلى كلمات في الروبية الهندية باستخدام دالة LAMBDA (Microsoft 365 فقط)
لمستخدمي Excel 365، يمكنك الاستفادة من دالة LAMBDA، وهي ميزة جديدة في Excel تتيح لك إنشاء صيغ مخصصة دون الحاجة إلى استخدام VBA.
🪄 ما هي دالة LAMBDA؟
LAMBDA هي ميزة في Excel تتيح لك إنشاء دوالك المخصصة باستخدام الصيغ—تمامًا مثل الدوال المدمجة مثل SUM أو IF، ولكن دون الحاجة إلى كتابة أي أكواد أو استخدام ماكرو. وهي مثالية لتبسيط المنطق المتكرر وجعل جداول البيانات أكثر نظافة وسهولة في الصيانة.
الخطوة 1: انتقل إلى مدير الأسماء وانقرالصيغ > مدير الأسماء.

الخطوة 3. انقر «حفظ».
انقر الزرجديد.

أدخلاسمًا.
مثال: RupeeToWords

الخطوة 3: الصق صيغة LAMBDA هذه في حقليشير إلى:
=LAMBDA(n، LET( units، {«»،«One»،«Two»،«Three»،«Four»،«Five»،«Six»،«Seven»،«Eight»،«Nine»}، teens، {«Ten»،«Eleven»،«Twelve»،«Thirteen»،«Fourteen»،«Fifteen»،«Sixteen»،«Seventeen»،«Eighteen»،«Nineteen»}، tens، {«»،«»،«Twenty»،«Thirty»،«Forty»،«Fifty»،«Sixty»،«Seventy»،«Eighty»،«Ninety»}، num، INT(n)، paise، ROUND((n - INT(n)) * 100، 0)، ConvertTwo، LAMBDA([[PH_1]]، IF([[PH_1]]0، « » & INDEX(units، MOD([[PH_1]]،10)+1)، «») ) ) )، ConvertThree، LAMBDA(x، IF(x=0، «»، IF([[PH_1]]0، « » & ConvertTwo(MOD([[PH_1]]،100))، «») ) ) )، words، IF(num=0، «Zero»، TEXTJOIN(« »، TRUE، IF(INT(num/10000000)>0، ConvertTwo(INT(num/10000000)) & « Crore»، «»)، IF(MOD(INT(num/100000)،100)>0، ConvertTwo(INT(MOD(num،10000000)/100000)) & « Lakh»، «»)، IF(MOD(INT(num/1000)،100)>0، ConvertTwo(INT(MOD(num،100000)/1000)) & « Thousand»، «»)، IF(MOD(INT(num/100)،10)>0، INDEX(units، INT(MOD(num،1000)/100)+1) & « Hundred»، «»)، IF(MOD(num،100)>0، ConvertTwo(MOD(num،100))، «») ) )، result، «Rupees » & words & IF(paise>0، « and » & ConvertTwo(paise) & « Paise»، «») & « Only»، result ))انقرموافقلحفظ الاسم الجديد.

الخطوة 3. أغلق مدير الأسماء وعُد إلى Excel.
الخطوة 4. استخدم الصيغة في أي خلية بهذه الطريقة:
اضغط مفتاحEnter.

👀 يتعامل كود دالة LAMBDA الكامل بسلاسة مع الكروڑ، واللاك، والآلاف، والأرقام العشرية.
تحويل الأرقام إلى USD وEUR و30+ عملات أخرى (جميع إصدارات Microsoft)
للحصول على الحل الأكثر كفاءة واحترافية، استخدمKutools لـ Excel's تحويل إلى كلمات. تدعم هذه الأداة القوية:
🌍 أكثر من 30 عملة، بما في ذلك:
- دولارات أمريكية (USD)
- يورو (EUR)
- يوان صيني (CNY)
- جنيهات إسترلينية (GBP)
- إلخ.
الخطوة 1. حدد الخلايا التي ترغب في تحويلها.

الخطوة 2. انتقل إلىKutools > المحتوى > تحويل إلى كلمات

الخطوة 3. اختر العملة المستهدفة، ثم انقر «موافق».

تُحوَّل الأرقام تلقائيًا إلى العملة المحددة.

😁تلميح: إذا كنت تريد تحويل تحويل إلى كلمات مباشرةً، فضع علامة في خانة الخيار لا تحول إلى وحدة عملة، وسيُعرض الناتج بهذه الصورة:

متى تستخدم كل طريقة
استخدم VBA إذا كنت تبحث عن حل مرن وقابل للبرمجة، وكانت لديك خبرة في التعامل مع الماكرو.
- استخدم دالة LAMBDA إذا كنت تعمل بـ Excel 365 وتحتاج فقط بين الحين والآخر إلى تحويل قيم الروبية الهندية. إنها حلٌّ خفيف الوزن، سهل المشاركة، ولا يتطلب ماكرو أو أدوات خارجية—مثالي تمامًا للمهام البسيطة أو الشخصية.
- استخدم Kutools لـ Excel إذا كنت تبحث عن الحل الأسهل، والأسرع، والأكثر تنوعًا—بدون الحاجة إلى كتابة أي أكواد. تُعد Kutools مفيدة بشكل خاص عندما:
- تتعامل مع عدة عملات.
- تحتاج إلى تحويل القيم دفعةً واحدة أو ضمن مجموعات بيانات ضخمة.
- تبحث عن أداة احترافية جاهزة للاستخدام ولا تعتمد على ماكرو، وتوفّر أكثر من 30 خيارًا للعملات مع أداء مدعوم بالذكاء الاصطناعي؟
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل

