كيفية تحويل التاريخ بسرعة إلى كلمات في Excel؟
بشكل عام، نحن عادةً ما نقوم بتحويل التاريخ إلى تنسيقات تاريخ أخرى أو أرقام في Excel، ولكن هل واجهت مشكلة تتعلق بتحويل التاريخ إلى كلمات إنجليزية كما هو موضح في لقطة الشاشة أدناه؟ في الواقع، لا توجد دالة مدمجة يمكنها التعامل مع هذا الأمر سوى كود VBA.
تحويل التاريخ إلى كلمة باستخدام الدالة المعرفة
تحويل التاريخ إلى كلمة باستخدام الدالة المعرفة
إليك كود ماكرو يمكن أن يساعدك في تحويل التواريخ إلى كلمات.
1. قم بتفعيل الورقة التي تستخدمها واضغط على مفاتيح Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، ثم انسخ الكود أدناه إلى البرنامج النصي.
VBA: تحويل التاريخ إلى كلمة
Function DateToWords(ByVal xRgVal As Date) As String
' Update by Extendoffice on 20240926
Dim xYear As String
Dim Hundreds As String
Dim Decades As String
Dim xTensArr As Variant
Dim xOrdArr As Variant
Dim xCardArr As Variant
' Initialize arrays
xOrdArr = Array("First", "Second", "Third", "Fourth", "Fifth", "Sixth", _
"Seventh", "Eighth", "Ninth", "Tenth", "Eleventh", "Twelfth", _
"Thirteenth", "Fourteenth", "Fifteenth", "Sixteenth", _
"Seventeenth", "Eighteenth", "Nineteenth", "Twentieth", _
"Twenty-first", "Twenty-second", "Twenty-third", "Twenty-fourth", _
"Twenty-fifth", "Twenty-sixth", "Twenty-seventh", "Twenty-eighth", _
"Twenty-ninth", "Thirtieth", "Thirty-first")
xCardArr = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", _
"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", _
"Seventeen", "Eighteen", "Nineteen")
xTensArr = Array("Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
' Extract year
xYear = CStr(Year(xRgVal))
Decades = Mid$(xYear, 3)
' Handle decades
If CInt(Decades) < 20 Then
Decades = xCardArr(CInt(Decades))
Else
Decades = xTensArr(CInt(Left$(Decades, 1)) - 2) & "-" & xCardArr(CInt(Right$(Decades, 1)))
End If
' Handle hundreds
Hundreds = Mid$(xYear, 2, 1)
If CInt(Hundreds) Then
Hundreds = xCardArr(CInt(Hundreds)) & " Hundred "
Else
Hundreds = ""
End If
' Construct English representation of the date
DateToWords = xOrdArr(Day(xRgVal) - 1) & " " & Format$(xRgVal, "mmmm") & " " & _
xCardArr(CInt(Left$(xYear, 1))) & " Thousand " & Hundreds & Decades
End Function
3. احفظ الكود وعد إلى الورقة، حدد الخلية التي تريد إخراج النتيجة فيها، واكتب هذه الصيغة =DateToWords(A2) (A2 هو التاريخ الذي تستخدمه)، واضغط Enter ثم اسحب مقبض التعبئة التلقائية لتغطية الخلايا التي تحتاجها. انظر لقطة الشاشة:
افتح الراحة الفورية لتحويل الأرقام إلى كلمات في Excel باستخدام ميزة Numbers to Words من Kutools لـ Excel، مما يوفر لك الوقت والجهد في إنشاء مستندات ذات مظهر احترافي بسهولة!
انتقل إلى التنزيل المجاني الآن
مقالات ذات صلة:
- كيفية تحويل تنسيق التاريخ بسرعة بين الأوروبي والأمريكي في Excel؟
- كيفية تحويل dD.MM.YYYY إلى تنسيق التاريخ (mM/DD/YYYY) في Excel؟
- كيفية التحويل بين التاريخ وختم الوقت اليونيكس في Excel؟
أفضل أدوات زيادة الإنتاجية لمجموعة Office
عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير
- فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
- افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
- يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!