كيفية تفقيط وتحويل الارقام الى كتابة عن طريق Excel

تُعد عملية تحويل الرقم الى كتابة من أهم العمليات في عصرنا الحالي، نظرًا لكونها تؤمن الحماية والأمان من التزوير أو التلاعب بالأرقام والأعداد الحسابية التي هي أساس جميع المعاملات المالية. وفي السطور القادمة سنتحدث عن كيفية تفقيط وتحويل الارقام الى كتابة باستخدام برنامج Microsoft Excel.

معنى التفقيط 

التفقيط هو عملية كتابة الأرقام الحسابية أو الأعداد بالحروف والكلمات، مع إضافة عبارة “فقط لا غير”، وذلك لتجنب التلاعب بالأرقام وتزويرها عن طريق إضافة أصفار لزيادة قيمتها.

يُعد التفقيط من الإجراءات الضرورية لضمان حماية الأوراق المالية والمستندات مثل الشيكات من التزوير. 

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

هل يوجد دالة جاهزة لتحويل الرقم الى كتابة في Excel 

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

أما إذا كنت تريد تحويل القيمة الرقمية إلى تنسيق نص دون إظهارها على شكل كلمات، يمكنك استخدام الدالة الافتراضية Text الموجودة في Excel.

تحويل الرقم الى كتابة عن طريق Excel 

يمكنك استخدام برنامج Microsoft Excel لتحويل الرقم إلى كتابة عن طريق إنشاء دالة SpellNumber.

لتتمكن من ذلك، يجب إظهار تبويب المطور أولًا، ويمكنك القيام بذلك عن طريق الضغط على قائمة “ملف” في برنامج Excel، ثم اختيار “خيارات”، ومن ثم اختيار “تخصيص الشريط” من القائمة الجانبية، ووضع علامة صح أمام خِيار “المطور” والضغط على “موافق”.

بعد إظهار تبويب المطور، يمكنك الآن تحويل الرقم الى كتابة عن طريق إضافة كود التفقيط في Excel بواسطة اختيار “Visual Basic” من تبويب المطور في شريط المهام، ثم اختيار “إدراج”، ثم “الوحدة النمطية” من النافذة الظاهرة على الشاشة، ومن ثم نسخ الكود التالي ولصقه ضمن النافذة البيضاء.

Function NumberToText(Number As Double, MainCurrency As String, SubCurrency As String)

Dim Array1(0 To 9) As String

Dim Array2(0 To 9) As String

Dim Array3(0 To 9) As String

Dim MyNumber As String

Dim GetNumber As String

Dim ReadNumber As String

Dim My100 As String

Dim My10 As String

Dim My1 As String

Dim My11 As String

Dim My12 As String

Dim GetText As String

Dim Billion As String

Dim Million As String

Dim Thousand As String

Dim Hundred As String

Dim Fraction As String

Dim MyAnd As String

Dim I As Integer

Dim ReMark As String

If Number > 999999999999.99 Then Exit Function

If Number < 0 Then

Number = Number * -1

ReMark = “سالب “

End If

If Number = 0 Then

NumberToText = “صفر”

Exit Function

End If

MyAnd = ” و”

Array1(0) = “”

Array1(1) = “مائة”

Array1(2) = “مائتان”

Array1(3) = “ثلاثمائة”

Array1(4) = “أربعمائة”

Array1(5) = “خمسمائة”

Array1(6) = “ستمائة”

Array1(7) = “سبعمائة”

Array1(8) = “ثمانمائة”

Array1(9) = “تسعمائة”

Array2(0) = “”

Array2(1) = ” عشر”

Array2(2) = “عشرون”

Array2(3) = “ثلاثون”

Array2(4) = “أربعون”

Array2(5) = “خمسون”

Array2(6) = “ستون”

Array2(7) = “سبعون”

Array2(8) = “ثمانون”

Array2(9) = “تسعون”

Array3(0) = “”

Array3(1) = “واحد”

Array3(2) = “اثنان”

Array3(3) = “ثلاثة”

Array3(4) = “أربعة”

Array3(5) = “خمسة”

Array3(6) = “ستة”

Array3(7) = “سبعة”

Array3(8) = “ثمانية”

Array3(9) = “تسعة”

GetNumber = Format(Number, “000000000000.00”)

I = 0

Do While I < 15

If I < 12 Then

MyNumber = Mid$(GetNumber, I + 1, 3)

Else

MyNumber = “0” + Mid$(GetNumber, I + 2, 2)

End If

If (Mid$(MyNumber, 1, 3)) > 0 Then

ReadNumber = Mid$(MyNumber, 1, 1)

My100 = Array1(ReadNumber)

ReadNumber = Mid$(MyNumber, 3, 1)

My1 = Array3(ReadNumber)

ReadNumber = Mid$(MyNumber, 2, 1)

My10 = Array2(ReadNumber)

If Mid$(MyNumber, 2, 2) = 11 Then My11 = “إحدى عشرة”

If Mid$(MyNumber, 2, 2) = 12 Then My12 = “إثنى عشرة”

If Mid$(MyNumber, 2, 2) = 10 Then My10 = “عشرة”

If ((Mid$(MyNumber, 1, 1)) > 0) And ((Mid$(MyNumber, 2, 2)) > 0) Then My100 = My100 + MyAnd

If ((Mid$(MyNumber, 3, 1)) > 0) And ((Mid$(MyNumber, 2, 1)) > 1) Then My1 = My1 + MyAnd

GetText = My100 + My1 + My10

If ((Mid$(MyNumber, 3, 1)) = 1) And ((Mid$(MyNumber, 2, 1)) = 1) Then

GetText = My100 + My11

If ((Mid$(MyNumber, 1, 1)) = 0) Then GetText = My11

End If

If ((Mid$(MyNumber, 3, 1)) = 2) And ((Mid$(MyNumber, 2, 1)) = 1) Then

GetText = My100 + My12

If ((Mid$(MyNumber, 1, 1)) = 0) Then GetText = My12

End If

If (I = 0) And (GetText <> “”) Then

If ((Mid$(MyNumber, 1, 3)) > 10) Then

Billion = GetText + ” مليار”

Else

Billion = GetText + ” مليارات”

If ((Mid$(MyNumber, 1, 3)) = 2) Then Billion = ” مليار”

If ((Mid$(MyNumber, 1, 3)) = 2) Then Billion = ” مليارن”

End If

End If

If (I = 3) And (GetText <> “”) Then

If ((Mid$(MyNumber, 1, 3)) > 10) Then

Million = GetText + ” مليون”

Else

Million = GetText + ” ملايين”

If ((Mid$(MyNumber, 1, 3)) = 1) Then Million = ” مليون”

If ((Mid$(MyNumber, 1, 3)) = 2) Then Million = ” مليونان”

End If

End If

If (I = 6) And (GetText <> “”) Then

If ((Mid$(MyNumber, 1, 3)) > 10) Then

Thousand = GetText + ” ألف”

Else

Thousand = GetText + ” ألاف”

If ((Mid$(MyNumber, 3, 1)) = 1) Then Thousand = ” ألف”

If ((Mid$(MyNumber, 3, 1)) = 2) Then Thousand = ” ألفان”

End If

End If

If (I = 9) And (GetText <> “”) Then Hundred = GetText

If (I = 12) And (GetText <> “”) Then Fraction = GetText

End If

I = I + 3

Loop

If (Billion <> “”) Then

If (Million <> “”) Or (Thousand <> “”) Or (Hundred <> “”) Then Billion = Billion + MyAnd

End If

If (Million <> “”) Then

If (Thousand <> “”) Or (Hundred <> “”) Then Million = Million + MyAnd

End If

If (Thousand <> “”) Then

If (Hundred <> “”) Then Thousand = Thousand + MyAnd

End If

If Fraction <> “” Then

If (Billion <> “”) Or (Million <> “”) Or (Thousand <> “”) Or (Hundred <> “”) Then

NumberToText = ReMark + Billion + Million + Thousand + Hundred + ” ” + MainCurrency + MyAnd + Fraction + ” ” + SubCurrency

Else

NumberToText = ReMark + Fraction + ” ” + SubCurrency

End If

Else

NumberToText = ReMark + Billion + Million + Thousand + Hundred + ” ” + MainCurrency

End If

End Function

اقرأ ايضاً: كيفية تحويل الرقم الى نسبة مئوية بأسهل الطرق 

حفظ مصنف الدالة SpellNumber  في Excel 

بعد إنشاء معادلة تفقيط الارقام الى حروف باستخدام دالة SpellNumber في Excel، قد تواجه مشكلة في عدم قدرة Excel على حفظ المصنف باستخدام دوال الماكرو في تنسيق مصنف ماكرو (xlsx). 

لحل هذه المشكلة، عند حفظ الملف ستظهر نافذة حوار تحذيرية من VB، يجب النقر على “لا”. بعد ذلك، يتم الانتقال إلى “ملف” ثم اختيار “حفظ باسم”، ومن خلال النقر فوق القائمة المنسدلة “حفظ كنوع” يتم اختيار نوع الملف (xlsm)، وأخيرًا، يتم النقر على “حفظ” لحفظ المصنف بتنسيق ملف ماكرو (xlsm).

استخدام دالة SpellNumber في خلايا فردية 

يتم استخدام معادلة تفقيط الارقام الى حروف SpellNumber في excel في الخلايا الفردية بواسطة إدراج الصيغة التالية: 

=SpellNumber (A1)

في أي خلية تريد أن يظهر ضمنها النص ومن ثم ضغط Enter.

تُعبر A1 عن رقم الخلية التي تحتوي الرقم المراد تحويله إلى نص.

أسباب تحويل الرقم الى كتابة في Excel

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

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

عند الحاجة إلى إيجاد تسلسلات محددة ضمن أرقام (مثل البحث عن “10” في “101”)، يُعد استخدام تنسيق النص ضروريًا لأن تنسيقات الأرقام القياسية من الممكن ألّا تدعم عمليات البحث هذه.  

تتطلب الدالات مثل VLOOKUP أو MATCH بيانات متسقة، ويساعد التحويل إلى نص على مطابقة البيانات بدقة، خاصةً عند التعامل مع التنسيقات المكونة من أصفار بادئة.

اقرأ ايضاً: كيفية حساب ضريبة القيمة المضافة في مصر

ملاحظات هامة عند تحويل الرقم الى كتابة في اكسيل Excel 

عند إنشاء معادلة تفقيط الارقام الى حروف في برنامج Excel، يجب الأخذ بعين الاعتبار بعض الملاحظات من ضمنها، إمكانية استخدام اختصار Alt + F11 لإظهار Visual Basic مباشرةً دون الحاجة لفتح قائمة المطور، إضافة إلى استخدام اختصار Alt + Q لإغلاق Visual Basic والعودة إلى Excel.

يجب أيضًا أن يتم الإدراك بأن الكود الذي تمت إضافته سيعمل فقط في المصنف الحالي الذي تعمل عليه. وفي حال رغبت في إضافته في مصنف آخر، سيتطلب ذلك تكرار الخطوات.

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

أدوات قد تهمك :

تفقيط العملات

تفقيط و تحويل الارقام الى كتابة

حساب النسبة المئوية

حساب النسبة من مبلغ

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

facebook twitter linkedin whatsapp