KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

تحويل تحويل إلى كلمات في الروبية الهندية وعملات أخرى في Excel (إصدار 2025)

المؤلفXiaoyangتاريخ التعديل

إليك طريقة تحويل الأرقام إلى كلمات بالروبية الهندية — أو بأي عملة أخرى — في Excel.

عند التعامل مع المستندات المالية—مثل الفواتير والعروض الضريبية ونماذج الضرائب والشيكات وأذونات الدفع—غالبًا ما يكون من الضروري تمثيل قيم العملات بالأرقام والكلمات معًا في تنسيق Word، مما يضفي لمسة احترافية ويساعد على منع الاحتيال أو سوء التفسير.

مثال

12،350.50 → روبية اثنا عشر ألفًا وثلاثمائة وخمسون وخمسون بيسة فقط

على الرغم من أن 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).

محرر-vba

الخطوة 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. حدد الخلية التي ترغب بها، ثم طبّق الصيغة بهذه الطريقة:

=ConvertToRupees(A2)

اضغط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:

=NumberToWordsCustom(A2, «Dollars», «Cents»)
صيغة-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 ))
  • لصق-دالة-lambda
  • انقرموافقلحفظ الاسم الجديد.

الخطوة 3. أغلق مدير الأسماء وعُد إلى Excel.

الخطوة 4. استخدم الصيغة في أي خلية بهذه الطريقة:

=RupeeToWords(A2)

اضغط مفتاحEnter.

استخدام-صيغة-lambda

👀 يتعامل كود دالة LAMBDA الكامل بسلاسة مع الكروڑ، واللاك، والآلاف، والأرقام العشرية.


تحويل الأرقام إلى USD وEUR و30+ عملات أخرى (جميع إصدارات Microsoft)

للحصول على الحل الأكثر كفاءة واحترافية، استخدمKutools لـ Excel's تحويل إلى كلمات. تدعم هذه الأداة القوية:

🌍 أكثر من 30 عملة، بما في ذلك:

  • دولارات أمريكية (USD)
  • يورو (EUR)
  • يوان صيني (CNY)
  • جنيهات إسترلينية (GBP)
  • إلخ.
تنزيل

الخطوة 1. حدد الخلايا التي ترغب في تحويلها.

تحديد-الخلايا

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

تحديد-الأرقام-بالكلمات

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

تحديد-العملة-في-النافذة

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

نتيجة-تحويل-kutools

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

تحويل-إلى-كلمات

متى تستخدم كل طريقة

  • استخدم VBA إذا كنت تبحث عن حل مرن وقابل للبرمجة، وكانت لديك خبرة في التعامل مع الماكرو.

  • استخدم دالة LAMBDA إذا كنت تعمل بـ Excel 365 وتحتاج فقط بين الحين والآخر إلى تحويل قيم الروبية الهندية. إنها حلٌّ خفيف الوزن، سهل المشاركة، ولا يتطلب ماكرو أو أدوات خارجية—مثالي تمامًا للمهام البسيطة أو الشخصية.
  • استخدم Kutools لـ Excel إذا كنت تبحث عن الحل الأسهل، والأسرع، والأكثر تنوعًا—بدون الحاجة إلى كتابة أي أكواد. تُعد Kutools مفيدة بشكل خاص عندما:
    • تتعامل مع عدة عملات.
    • تحتاج إلى تحويل القيم دفعةً واحدة أو ضمن مجموعات بيانات ضخمة.
    • تبحث عن أداة احترافية جاهزة للاستخدام ولا تعتمد على ماكرو، وتوفّر أكثر من 30 خيارًا للعملات مع أداء مدعوم بالذكاء الاصطناعي؟

أفضل أدوات الإنتاجية لمكتبتك

🤖KUTOOLS AI مساعد: ثوّر تحليل البيانات استنادًا إلى:التنفيذ الذكي   |  إنشاء الكود|  إنشاء الصيغ المخصصة  |  تحليل البيانات وإنشاء المخططات البيانية|  استدعاء الوظائف المحسنة
الميزات الشائعة:البحث، التمييز أو وضع علامة على المكررات   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |  التقريب بدون استخدام الصيغة...
بحث متقدم:VLookup متعدد المعايير  |  VLookup متعدد القيم  |   VLookup عبر أوراق متعددة   |   مطابقة غامضة....
قائمة منسدلة متقدمة:إنشاء قائمة منسدلة بسرعة   |  قائمة منسدلة تابعة   |  قائمة منسدلة متعددة الاختيار....
مدير الأعمدة:إضافة عدد محدد من الأعمدة|نقل الأعمدة|تبديل حالة ظهور الأعمدة المخفية|مقارنة النطاقات والأعمدة...
ميزات مميزة:التركيز على الشبكة   |  عرض التصميم   |شريط الصيغ المحسن   | مدير الدفتر والورقة   |  مكتبة الموارد(نص تلقائي)|  أداة اختيار التاريخ   |  تجميع ورقات العمل  |  تشفير/فك تشفير الخلايا   | إرسال رسائل البريد الإلكتروني حسب القائمة   |  مرشح متقدم   |   تصفية خاصة(تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل 15 مجموعات الأدوات:12 أدواتالنصوص(إضافة نص،حذف الأحرف المحددة، ...)|   50+أنواعالمخططات البيانية(مخطط جانت، ...)|   40+ صيغعملية(حساب العمر بناءً على تاريخ الميلاد، ...)|   19 أدواتالإدراج(إدراج رمز QR،إدراج صورة من المسار، ...)|   12 أدواتالتحويل(تحويل إلى كلمات،تحويل العملة، ...)|   7 أدواتدمج وتقسيم(دمج متقدم للصفوف،تقسيم الخلايا، ...)|... وأكثر من ذلك
استخدم Kutools باللغة التي تفضلها – يدعم الإنجليزية والإسبانية والألمانية والفرنسية والصينية و40+ لغات أخرى!

عزِّز مهاراتك في 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.

ExcelWordOutlookTabsPowerPoint
  • حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
  • برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
  • يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
  • تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل