تُعد عملية تحويل الرقم الى كتابة من أهم العمليات في عصرنا الحالي، نظرًا لكونها تؤمن الحماية والأمان من التزوير أو التلاعب بالأرقام والأعداد الحسابية التي هي أساس جميع المعاملات المالية. وفي السطور القادمة سنتحدث عن كيفية تفقيط وتحويل الارقام الى كتابة باستخدام برنامج 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 هي عملية واضحة وبسيطة تتطلب فهم الخطوات والالتزام بها بشكل صحيح.
أدوات قد تهمك :
تفقيط و تحويل الارقام الى كتابة