Skip to main content

Kutools for Office — مجموعة واحدة. خمسة أدوات. أنجز المزيد.

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

Author Xiaoyang Last modified

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

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

مثال

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

بينما لا يحتوي 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).

vba-editor

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

select-module

الخطوة 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
paste-code

الخطوة 4: احفظ وعد إلى Excel.

الخطوة 5: حدد خلية واستخدم الصيغة بهذه الطريقة:

=ConvertToRupees(A2)

اضغط على مفتاح Enter

use-formula

💡 نصيحة: هذه الطريقة تدعم الكسور العشرية (بيسة) وتعمل دون اتصال بالإنترنت.

قيود استخدام 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:

=NumberToWordsCustom(A2, "دولار", "سنت")
vba-formula-to-other-currency

مثال صيغة VBA للعملات الأخرى:

=NumberToWordsCustom(A2, "يورو", "سنت")

=NumberToWordsCustom(A2, "جنيه", "بنس")

الكود مرن - فقط قم بتمرير العملة والجزء الفرعي المطلوبين.


احفظ مصنفك كملف ممكّن الماكرو

إذا كنت تستخدم VBA، فمن الضروري حفظ مصنفك مع تمكين الماكرو. وإلا سيتم فقدان الكود عند إغلاق الملف.

الخطوة 1: انتقل إلى ملف > حفظ باسم

use-save-as

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

use-save-as-macro-enabled

الخطوة 3: انقر على حفظ.

✅ ستظل وظائفك المخصصة مثل =ConvertToRupees(A2) الآن وتكون قابلة لإعادة الاستخدام في أي وقت.


تحويل الأرقام إلى كلمات بالروبية الهندية باستخدام دالة LAMBDA (Microsoft 365 فقط)

بالنسبة لمستخدمي Excel 365، يمكنك استخدام LAMBDA، وهي ميزة جديدة في Excel تتيح لك تعريف الصيغ المخصصة - بدون الحاجة إلى VBA.

🪄 ما هي LAMBDA؟

LAMBDA هي ميزة في Excel تتيح لك إنشاء وظائف مخصصة باستخدام الصيغ - تمامًا مثل الوظائف المدمجة مثل SUM أو IF، ولكن دون الحاجة إلى أي كود أو ماكرو. إنها رائعة لتبسيط المنطق المتكرر وجعل جداول البيانات الخاصة بك أكثر نظافة وسهولة في الصيانة.

الخطوة 1: انتقل إلى مدير الأسماء وانقر على الصيغ > مدير الأسماء.

select-name-manager

الخطوة 2: قم بإنشاء اسم جديد.

  • انقر على زر جديد.

    create-new-name
  • أدخل اسمًا.

    مثال: RupeeToWords

    create-name
  • الخطوة 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 ))
  • paste-lambda-function
  • انقر على موافق لحفظ الاسم الجديد.

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

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

=RupeeToWords(A2)

اضغط على مفتاح Enter.

use-lambda-formula

👀 الكود الكامل لدالة LAMBDA يعالج الكرورات، اللاك، الآلاف، والكسور العشرية.


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

للحصول على الحل الأكثر كفاءة واحترافية، استخدم أداة Numbers to Words من Kutools for Excel. هذه الأداة القوية تدعم:

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

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

الخطوة 1: حدد الخلايا التي تريد تحويلها.

select-cells

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

select-numbers-to-words

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

select-currency-in-dialog

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

kutools-convert-result

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

convert-to-words

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

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

  • استخدم LAMBDA إذا كنت تستخدم Excel 365، وتحتاج فقط إلى تحويل قيم الروبية الهندية بشكل غير متكرر. إنه حل خفيف الوزن وقابل للمشاركة ولا يتطلب أي ماكرو أو أدوات خارجية - مثالي للمهام البسيطة أو الشخصية.
  • استخدم Kutools for Excel إذا كنت تريد أسهل وأسرع وأكثر الحلول تنوعًا - لا حاجة إلى البرمجة. Kutools مفيد بشكل خاص عندما:
    • تتعامل مع العملات المختلفة.
    • تحتاج إلى تحويل القيم بكميات كبيرة أو مجموعات بيانات كبيرة.
    • تريد أداة احترافية جاهزة بدون ماكرو مع أكثر من 30 خيارًا للعملة وأداء مدعوم بالذكاء الاصطناعي.

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

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات اعتمادًا على: التنفيذ الذكي |  توليد الأكواد |  إنشاء الصيغ المخصصة |  تحليل البيانات وتوليد الرسوم البيانية |  استخدام Kutools Functions...
ميزات شائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو الخلايا بدون فقدان البيانات | تقريب بدون الصيغة...
بحث متقدم: بحث بمعايير متعددة VLookup | بحث بقيم متعددة VLookup | بحث في عدة ورقات VLookup | مطابقة غامضة...
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة معتمدة | قائمة منسدلة متعددة الاختيارات...
مدير الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاقات والأعمدة...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | مدير أدوات المصنف وورقة العمل | مكتبة النص التلقائي | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب الجدول | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...)...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع رسم بياني (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |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.

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