Skip to main content

كيفية تحويل الأرقام بسرعة إلى كلمات إنجليزية في Excel؟

Author: Xiaoyang Last Modified: 2025-05-30

تحويل الأرقام إلى كلمات في Excel مفيد لإعداد التقارير المالية، الوثائق القانونية أو الشيكات حيث تحتاج إلى تهجئة المبالغ. على الرغم من أن Excel لا يقدم وظيفة مضمنة لتحويل الأرقام مباشرة إلى كلمات، هناك عدة طرق يمكنك استخدامها لتحقيق ذلك، بدءًا من استخدام ماكرو Visual Basic for Applications (VBA) إلى الإضافات الخارجية والأدوات عبر الإنترنت. أدناه، سنستعرض بعض هذه الطرق لمساعدتك في العثور على أفضل حل لاحتياجاتك.


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

إذا كنت تريد تحويل الأرقام إلى كلمات عملة إنجليزية، يجب عليك تطبيق الكود VBA أدناه.

1. اضغط مع الاستمرار على مفتاحي "ALT" + "F11"، وسيفتح نافذة "Microsoft Visual Basic for Applications".

2. انقر فوق "إدراج" > "وحدة"، والصق الكود التالي في نافذة "الوحدة".

Function SpellNumberToEnglish(ByVal pNumber)
'Update by Extendoffice
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
    Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
    pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
    xHundred = ""
    xValue = Right(pNumber, 3)
    If Val(xValue) <> 0 Then
        xValue = Right("000" & xValue, 3)
        If Mid(xValue, 1, 1) <> "0" Then
            xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
        End If
        If Mid(xValue, 2, 1) <> "0" Then
            xHundred = xHundred & GetTens(Mid(xValue, 2))
        Else
            xHundred = xHundred & GetDigit(Mid(xValue, 3))
        End If
    End If
    If xHundred <> "" Then
        Dollars = xHundred & arr(xIndex) & Dollars
    End If
    If Len(pNumber) > 3 Then
        pNumber = Left(pNumber, Len(pNumber) - 3)
    Else
        pNumber = ""
    End If
    xIndex = xIndex + 1
Loop
Select Case Dollars
    Case ""
        Dollars = "No Dollars"
    Case "One"
        Dollars = "One Dollar"
    Case Else
        Dollars = Dollars & " Dollars"
End Select
Select Case Cents
    Case ""
        Cents = " and No Cents"
    Case "One"
        Cents = " and One Cent"
    Case Else
        Cents = " and " & Cents & " Cents"
End Select
SpellNumberToEnglish = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
    Select Case Val(pTens)
        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"
        Case Else
    End Select
Else
Select Case Val(Left(pTens, 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 "
    Case Else
End Select
Result = Result & GetDigit(Right(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
    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

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

=SpellNumberToEnglish(A2)
A2 هي الخلية التي تريد تحويل الرقم فيها إلى كلمة عملة إنجليزية.

A screenshot of a spreadsheet showing numbers converted into English currency words using VBA in Excel


تحويل الأرقام إلى كلمات عملة باستخدام ميزة مفيدة

قم بتهجئة الأرقام إلى كلمات بسهولة باستخدام Kutools لـ Excel! سواء كنت بحاجة إلى تعابير العملة الإنجليزية أو الأرقام الألمانية، تدعم ميزة Numbers to Words في Kutools أكثر من 40 لغة، مما يسهل سير عملك. قم بتبسيط تقاريرك المالية، الوثائق القانونية والمزيد عن طريق تحويل القيم العددية إلى كلمات دقيقة مكتوبة بنقرات قليلة فقط. اكتشف كيف يمكن لـ Kutools لـ Excel جعل معالجة البيانات أسرع وأكثر دقة. جربه اليوم وتجرب قوة الكفاءة!

Kutools لـ Excel يقدم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة. بالتكامل مع قدرات الذكاء الاصطناعي، يقوم Kutools بأتمتة المهام بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية. معلومات تفصيلية عن Kutools لـ Excel... نسخة تجريبية مجانية...

بعد تثبيت Kutools لـ Excel، يرجى القيام بما يلي:

1. حدد قائمة الأرقام التي تريد تحويلها، ثم انقر فوق "Kutools" > "نص" > "تحويل الأرقام إلى كلمات"، انظر إلى لقطة الشاشة:

A screenshot of the Kutools menu showing the Numbers to Words option in Excel

2. في مربع الحوار "تحويل الأرقام إلى كلمات العملة"، اختر اللغة التي تريد استخدامها؛ هنا سأختار الخيار "الإنجليزية" من مربع "قائمة اللغات"، انظر إلى لقطة الشاشة:

A screenshot of the Numbers to Currency Words dialog box

3. وبعد ذلك انقر فوق زر "موافق"، سترى أن جميع الأرقام قد تم كتابتها ككلمات عملة إنجليزية:

A screenshot of the Excel worksheet showing numbers converted into English currency words using Kutools

نصيحة: إذا كنت تريد الحصول على الكلمات الإنجليزية فقط وليس كلمات العملة، يرجى تحديد مربع الاختيار "لا تحول إلى وحدة عملة" من قسم "الخيارات"، انظر إلى لقطة الشاشة:

A screenshot of the Kutools dialog box showing the Not converted to Currency option

Kutools لـ Excel - قم بتعزيز Excel بأكثر من 300 أدوات أساسية. استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! احصل عليه الآن


تحويل الأرقام إلى كلمات إنجليزية باستخدام دالة معرفة من قبل المستخدم

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

1. اضغط مع الاستمرار على مفتاحي "ALT" + "F11"، وسيفتح نافذة "Microsoft Visual Basic for Applications".

2. انقر فوق "إدراج" > "وحدة"، والصق الكود التالي في نافذة الوحدة.

Function NumberstoWords(ByVal MyNumber)
'Update by Extendoffice
Dim xStr As String
Dim xFNum As Integer
Dim xStrPoint
Dim xStrNumber
Dim xPoint As String
Dim xNumber As String
Dim xP() As Variant
Dim xDP
Dim xCnt As Integer
Dim xResult, xT As String
Dim xLen As Integer
On Error Resume Next
xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP > 0 Then
xPoint = " point "
xStr = Mid(xNumber, xDP + 1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum = 1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum, 1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNum
xNumber = Trim(Left(xNumber, xDP - 1))
End If
xCnt = 0
xResult = ""
xT = ""
xLen = 0
xLen = Int(Len(Str(xNumber)) / 3)
If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1
Do While xNumber <> ""
If xLen = xCnt Then
xT = GetHundredsDigits(Right(xNumber, 3), False)
Else
If xCnt = 0 Then
xT = GetHundredsDigits(Right(xNumber, 3), True)
Else
xT = GetHundredsDigits(Right(xNumber, 3), False)
End If
End If
If xT <> "" Then
xResult = xT & xP(xCnt) & xResult
End If
If Len(xNumber) > 3 Then
xNumber = Left(xNumber, Len(xNumber) - 3)
Else
xNumber = ""
End If
xCnt = xCnt + 1
Loop
xResult = xResult & xPoint
NumberstoWords = xResult
End Function
Function GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As String
Dim xStrNum As String
Dim xStr As String
Dim xI As Integer
Dim xBB As Boolean
xStrNum = xHDgt
xRStr = ""
On Error Resume Next
xBB = True
If Val(xStrNum) = 0 Then Exit Function
xStrNum = Right("000" & xStrNum, 3)
xStr = Mid(xStrNum, 1, 1)
If xStr <> "0" Then
xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "
Else
If xB Then
xRStr = "and "
xBB = False
Else
xRStr = " "
xBB = False
End If
End If
If Mid(xStrNum, 2, 2) <> "00" Then
xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)
End If
GetHundredsDigits = xRStr
End Function
Function GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As String
Dim xI As Integer
Dim xArr_1() As Variant
Dim xArr_2() As Variant
Dim xT As Boolean
xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = True
On Error Resume Next
If Val(Left(xTDgt, 1)) = 1 Then
xI = Val(Right(xTDgt, 1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
Else
xI = Val(Left(xTDgt, 1))
If Val(Left(xTDgt, 1)) > 1 Then
If xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))
xT = False
End If
If xStr = "" Then
If xB Then
xStr = "and "
End If
End If
If Right(xTDgt, 1) <> "0" Then
xStr = xStr & GetDigits(Right(xTDgt, 1))
End If
End If
GetTenDigits = xStr
End Function
Function GetDigits(xDgt)
Dim xStr As String
Dim xArr_1() As Variant
xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume Next
xStr = xArr_1(Val(xDgt))
GetDigits = xStr
End Function

3. احفظ وأغلق هذا الكود وعد إلى ورقة العمل، وفي خلية فارغة، أدخل الصيغة التالية، انظر إلى لقطة الشاشة:

=NumberstoWords(A2)
A2 هي الخلية التي تريد تحويل الرقم فيها إلى كلمة إنجليزية.

A screenshot of a spreadsheet showing the application of the NumberstoWords User Defined Function

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

A screenshot of an Excel worksheet showing numbers converted into English words using the NumberstoWords function

ملاحظة: يعمل هذا الكود فقط مع الأعداد الصحيحة ولكنه لا ينطبق على الأعداد العشرية.

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


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

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

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!