تحويل الأرقام إلى كلمات بالروبية الهندية والعملات الأخرى في Excel (إصدار 2025)
إليك كيفية تحويل الأرقام إلى كلمات بالروبية الهندية - أو أي عملة أخرى - في Excel.
عند العمل مع المستندات المالية مثل الفواتير، العروض السعرية، نماذج الضرائب، الشيكات، أو إيصالات الدفع، غالبًا ما يكون من الضروري تمثيل قيم العملات بصيغة عددية وصيغة كتابية. هذا يضيف طبقة من الاحترافية ويساعد على منع التزوير أو سوء الفهم.
مثال
بينما لا يحتوي Microsoft Excel على ميزة مضمنة لتحويل الأرقام إلى كلمات، هناك عدة طرق فعالة لتحقيق ذلك - من خلال VBA، وظائف LAMBDA، أو إضافة Kutools for Excel الشاملة.
تحويل الأرقام إلى كلمات بالروبية الهندية باستخدام VBA (جميع إصدارات Microsoft)
تحويل الأرقام إلى كلمات بالروبية الهندية باستخدام دالة LAMBDA (Microsoft 365 فقط)
تحويل الأرقام إلى USD، EUR، و30+ عملة أخرى (جميع إصدارات Microsoft)
تحويل الأرقام إلى كلمات بالروبية الهندية باستخدام VBA (جميع إصدارات Microsoft)
بالنسبة لمستخدمي أي إصدار من Excel، توفر VBA (Visual Basic for Applications) طريقة قابلة للتخصيص لتحويل القيم الرقمية إلى كلمات باستخدام نظام الأرقام الهندي (مثل الآلاف، واللاكhs، والكروres).
الخطوة 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
- يتطلب حفظ المصنف كملف ممكّن الماكرو (.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, "يورو", "سنت")
=NumberToWordsCustom(A2, "جنيه", "بنس")
الكود مرن - فقط قم بتمرير العملة والجزء الفرعي المطلوبين.
احفظ مصنفك كملف ممكّن الماكرو
إذا كنت تستخدم VBA، فمن الضروري حفظ مصنفك مع تمكين الماكرو. وإلا سيتم فقدان الكود عند إغلاق الملف.
الخطوة 1: انتقل إلى ملف > حفظ باسم

الخطوة 2: حدد موقعًا واختر نوع الملف: مصنف Excel ممكّن الماكرو (*.xlsm).

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

الخطوة 2: قم بإنشاء اسم جديد.
انقر على زر جديد.
أدخل اسمًا.
مثال: RupeeToWords
الخطوة 3: الصق هذه الصيغة LAMBDA في حقل يشير إلى:
=LAMBDA(n, LET( units, {"","واحد","اثنان","ثلاثة","أربعة","خمسة","ستة","سبعة","ثمانية","تسعة"}, teens, {"عشرة","إحدى عشرة","اثني عشرة","ثلاثة عشرة","أربعة عشرة","خمسة عشرة","ستة عشرة","سبعة عشرة","ثمانية عشرة","تسعة عشرة"}, tens, {"","","عشرون","ثلاثون","أربعون","خمسون","ستون","سبعون","ثمانون","تسعون"}, num, INT(n), paise, ROUND((n - INT(n)) * 100, 0), ConvertTwo, LAMBDA(x, IF(x<10, INDEX(units, x+1), IF(x<20, INDEX(teens, x-9), INDEX(tens, INT(x/10)+1) & IF(MOD(x,10)>0, " " & INDEX(units, MOD(x,10)+1), "") ) ) ), ConvertThree, LAMBDA(x, IF(x=0, "", IF(x<100, ConvertTwo(x), INDEX(units, INT(x/100)+1) & " مئة" & IF(MOD(x,100)>0, " " & ConvertTwo(MOD(x,100)), "") ) ) ), words, IF(num=0, "صفر", TEXTJOIN(" ", TRUE, IF(INT(num/10000000)>0, ConvertTwo(INT(num/10000000)) & " كرور", ""), IF(MOD(INT(num/100000),100)>0, ConvertTwo(INT(MOD(num,10000000)/100000)) & " لاك", ""), IF(MOD(INT(num/1000),100)>0, ConvertTwo(INT(MOD(num,100000)/1000)) & " ألف", ""), IF(MOD(INT(num/100),10)>0, INDEX(units, INT(MOD(num,1000)/100)+1) & " مئة", ""), IF(MOD(num,100)>0, ConvertTwo(MOD(num,100)), "") ) ), result, "روبية " & words & IF(paise>0, " و " & ConvertTwo(paise) & " بيسة", "") & " فقط", result ))انقر على موافق لحفظ الاسم الجديد.

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

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

الخطوة 2: انتقل إلى Kutools > نص > Numbers to Words

الخطوة 3: اختر العملة المستهدفة وانقر على موافق.

تم تحويل الأرقام إلى العملة المحددة.

😁 نصيحة: إذا كنت تريد تحويل الأرقام مباشرة إلى كلمات، حدد الخيار 'لا تحول إلى عملة' وسيظهر الناتج كما يلي:

متى تستخدم كل طريقة
استخدم VBA إذا كنت بحاجة إلى حل مرن وقابل للبرمجة وأنت على دراية بالماكرو.
- استخدم LAMBDA إذا كنت تستخدم Excel 365، وتحتاج فقط إلى تحويل قيم الروبية الهندية بشكل غير متكرر. إنه حل خفيف الوزن وقابل للمشاركة ولا يتطلب أي ماكرو أو أدوات خارجية - مثالي للمهام البسيطة أو الشخصية.
- استخدم Kutools for 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 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد