KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

إضافة أحرف كل X أحرف في خلايا Excel - طرق سهلة

المؤلفشياويانغتاريخ التعديل

عند التعامل مع رموز المنتجات، الأرقام التسلسلية، أرقام الهواتف، أرقام الهوية، أو سلاسل نصية طويلة في Excel، قد تحتاج إلى إدراج حرف معيّن بعد كل عدد ثابت من الأحرف. على سبيل المثال، قد ترغب في تحويل ABCDEF123456 إلى ABC-DEF-123-456، أو إضافة مسافات كل 4 أرقام لتسهيل قراءة الأرقام الطويلة.
لا يوفّر Excel زرًا مباشرًا مدمجًا لهذه المهمة، لكن يمكنك تنفيذها بسهولة باستخدام بعض الطرق البسيطة. سيعرض لك هذا المقال عدة طرق عملية لإضافة أو إدراج أحرف معيّنة كل X أحرف في خلايا Excel.

إضافة أحرف كل X أحرف

إضافة أحرف كل X أحرف في Excel

ملاحظات وهفريات مهمة

الخاتمة


إضافة أحرف كل X أحرف في Excel

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

 

الطريقة 1: إضافة أحرف كل X أحرف باستخدام صيغة

إذا كنت تستخدم Excel 365 أو Excel 2021، يمكنك الاستفادة من صيغة المصفوفة الديناميكية لتقسيم النص إلى مجموعات ذات طول ثابت، ثم ربطها بحرف معيّن.

أدخل الصيغة التالية في خلية فارغة:

=TEXTJOIN("-",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4))

ثم اضغط على مفتاحEnter، واسحب مقبض التعبئة لأسفل لملء الصيغة تلقائيًا في الخلايا الأخرى.
إضافة أحرف كل X أحرف بواسطة صيغة

كيف تعمل هذه الصيغة؟

  • LEN(A2): تحصل على العدد الإجمالي للأحرف في الخلية A2.
  • ROUNDUP(LEN(A2)/4,0): تحسب عدد المجموعات المطلوبة. وإذا احتوت المجموعة الأخيرة على أقل من 4 أحرف، فسيتم تضمينها مع ذلك.
  • SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4): تولِّد مواضع البداية: 1، 5، 9، 13، وهكذا.
  • MID(A2,SEQUENCE(...),4): تستخرج كل مجموعة مكوَّنة من 4 أحرف من النص.
  • TEXTJOIN("-",TRUE,...): تربط جميع المجموعات المستخرجة بشرطةٍ واحدة.

تخصيص الصيغة

يمكنك تعديل الحرف والفترة وفقًا لاحتياجاتك.

أضف مسافة كل 4 أحرف:

=TEXTJOIN(" ",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4))

أضف شرطة مائلة كل حرفين:

=TEXTJOIN("/",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/2,0),,1,2),2))

استخدم مراجع الخلايا للإعدادات المرنة: (هذه النسخة أكثر مرونة لأنك تستطيع تغيير الحرف المُدرج أو رقم الفاصل الزمني دون تعديل الصيغة نفسها.)

إذا:

  • النص موجود في الخلية A2،
  • الحرف المراد إدراجه موجود في الخلية B1،
  • رقم الفاصل الزمني موجود في الخلية C1
=TEXTJOIN($B$1,TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/$C$1,0),,1,$C$1),$C$1))

المزايا والعيوب

الإيجابياتالسلبيات
نتيجة ديناميكية تُحدَّث تلقائيًايعمل فقط في Excel 365 وExcel 2021 والإصدارات الأحدث
لا يتطلب VBAقد تكون الصيغة صعبة على المبتدئين
سهل النسخ لأسفل عبر خلايا متعددةالنتيجة تعتمد على صيغة، وليست نصًّا ثابتًا
 

الطريقة 2: إضافة أحرف كل X أحرف باستخدام كود VBA

إذا كنت ترغب في إدراج حرف معيّن كل عدد ثابت من الأحرف عبر خلايا متعددة والحصول على النتيجة فورًا، فإن VBA يُعد خيارًا مثاليًا.

  1. اضغط مع الاستمرار على مفاتيحALT + F11 في Excel، وستفتح نافذة Microsoft Visual Basic for Applications.
  2. انقر فوقإدراج > وحدة نمطية (Module)، ثم الصق الكود التالي في نافذة الوحدة النمطية.
Sub InsertCharacter()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
Dim xRow As Integer
Dim xChar As String
Dim index As Integer
Dim arr As Variant
Dim xValue As String
Dim outValue As String
Dim xNum As Integer
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
xRow = Application.InputBox("Number of characters :", xTitleId, Type:=1)
xChar = Application.InputBox("Specify a character :", xTitleId, Type:=2)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
xNum = 1
For Each Rng In InputRng
    xValue = Rng.Value
    outValue = ""
    For index = 1 To VBA.Len(xValue)
        If index Mod xRow = 0 And index <> VBA.Len(xValue) Then
            outValue = outValue + VBA.Mid(xValue, index, 1) + xChar
        Else
            outValue = outValue + VBA.Mid(xValue, index, 1)
        End If
    Next
    OutRng.Cells(xNum, 1).Value = outValue
    xNum = xNum + 1
Next
End Sub
  1. اضغط على مفتاحF5 لتشغيل هذا الكود. ستظهر نافذة منبثقة تطلب منك تحديد نطاق البيانات التي تريد إدراج حرف معيّن فيها ضمن سلاسل النص. انظر لقطة الشاشة أدناه:
    تحديد نطاق البيانات
  2. ثم انقر فوقموافق، وفي مربع الحوار التالي، أدخل الرقم الذي تريد أن يُدرج الحرف المحدد بعده، انظر لقطة الشاشة:
    إدخال عدد الأحرف
  3. استمر في النقر فوقموافق، وفي مربع الحوار التالي، أدخل الحرف المحدد الذي تريد إضافته إلى النص، انظر لقطة الشاشة:
    تحديد حرف
  4. انقر فوق زرموافق، واختر الخلية التي تريد إخراج النتيجة فيها في مربع الحوار، انظر لقطة الشاشة:
    اختيار خلية الإخراج
  5. أخيرًا، انقر فوقموافق. سيقوم Excel بإدراج الحرف المحدد كل X أحرف ووضع النتائج في منطقة القائمة المحددة.
    إدراج أحرف كل X أحرف باستخدام كود VBA

المزايا والعيوب

الإيجابياتالسلبيات
يعمل في إصدارات Excel القديمةيتطلب تمكين ماكرو
يمكنه معالجة العديد من الخلايا دفعة واحدةقد يكون VBA صعبًا على المبتدئين
يُخرِج نتائج ثابتة مباشرةًليس ديناميكيًّا إذا تغيّر البيانات الأصلية
إعدادات مرنة للأحرف والفواصل الزمنيةيجب حفظ ملفات الماكرو بصيغة .xlsm
 

الطريقة 3: إضافة أحرف كل X أحرف باستخدام دالة معرّفة من قبل المستخدم

تسمح لك الدالة المعرَّفة من قِبل المستخدم (UDF) بإنشاء دالة Excel خاصة بك باستخدام VBA، وبعد إضافتها، يمكنك استخدامها تمامًا كأي صيغة عادية في ورقة العمل.

  1. اضغط علىAlt + F11 لفتح محرر VBA.
  2. انقر فوقإدراج > وحدة نمطية (Module). ثم انسخ والصق الكود التالي في الوحدة النمطية.
Function InsertEveryX(TextStr As String, InsertChar As String, IntervalNum As Long) As String
    Dim i As Long
    Dim ResultStr As String
    If IntervalNum <= 0 Then
        InsertEveryX = TextStr
        Exit Function
    End If
    For i = 1 To Len(TextStr) Step IntervalNum
        ResultStr = ResultStr & Mid(TextStr, i, IntervalNum) & InsertChar
    Next i
    If Len(ResultStr) > 0 Then
        ResultStr = Left(ResultStr, Len(ResultStr) - Len(InsertChar))
    End If
    InsertEveryX = ResultStr
End Function
  1. أغلق محرر VBA وارجع إلى ورقة العمل، ثم استخدم الصيغة التالية:
=InsertEveryX(A2,"-",4)

تلميح: يمكنك أيضًا تخزين الحرف المُدخل وعدد الفترات في خلايا.

ثم اسحب مقبض التعبئة لأسفل لتطبيق الصيغة على باقي الخلايا.
إدراج أحرف كل X أحرف باستخدام دالة معرفة من المستخدم (UDF)

المزايا والعيوب

الإيجابياتالسلبيات
يعمل كصيغة Excel عاديةيتطلب إعداد VBA
أقل تعقيدًا في القراءة مقارنةً بصيغة معقدةيجب تمكين الماكرو
قابل لإعادة الاستخدام داخل الدفترغير متاح في أدفاتر أخرى ما لم يُنسخ إليها
يدعم أحرفًا وفواصل زمنية مخصصةيجب حفظ الدفتر بصيغة .xlsm
 

الطريقة 4: إضافة أحرف كل X أحرف باستخدام Kutools لـ Excel

إذا كنت لا ترغب في استخدام صيغ معقدة أو كود VBA، فإن Kutools لـ Excel توفّر طريقة أسهل لإدراج الأحرف في نصوص الخلايا. باستخدام أدوات النص الخاصة بها، يمكنك إضافة أحرف معيّنة بسرعة في مواضع ثابتة أو تطبيق عمليات معالجة النصوص على خلايا متعددة.

  1. حدد الخلايا التي تريد إدراج الأحرف فيها، ثم انقر فوقKutools > نص > إضافة نص.
    تحديد ميزة إضافة نص
  2. في مربع حوارإضافة نص:
    1. أدخل الحرف الذي تريد إدراجه، مثل- أو/ أو حتى مسافة، في مربعالنص.
    2. في قسمإضافة الموضع، اختربعد الموضع المحدد، ثم أدخل المواضع التي تريد إدراج الحرف بعدها.
    3. انقر فوقموافق.
      تعيين الخيارات في مربع الحوار

تلميح: في هذا المثال، أدخلتُ الأرقام 4 و8 و12 في مربع «بعد الموضع المحدد»، ما يعني أن النص المحدد سيتم إدراجه بعد الأحرف الرابعة والثامنة والثانية عشرة من كل سلسلة نصية.

الآن، يُدرج الحرف المحدد في قيم الخلايا عند الفترات المحددة.

أدرج نصًّا في خلايا Excel بشكل أسرع باستخدام Kutools

باستخدام ميزةإضافة نصمن Kutools لـ Excel، يمكنك إدراج أحرف أو رموز أو نصوص مخصصة بسرعة في الخلايا المحددة—بدون الحاجة إلى كتابة صيغ معقدة أو أكواد VBA!

بدون صيغ أو VBAأدخل نصًا باستخدام إعدادات بسيطة بدلًا من إنشاء صيغ معقدة.
المعالجة الدفعيةطبّق قاعدة الإدخال نفسها على خلايا متعددة في آنٍ واحد.
مواضع مرنةإضافة نص في البداية أو النهاية أو في مواضع أحرف محددة.
سهل الاستخدام للمبتدئينيُسهّل مربّع الحوار المرئي تنسيق النصوص ويُحسّن كفاءته.

ملاحظات وهفريات مهمة

1. نتائج الصيغة ديناميكية

إذا استخدمت طريقة الصيغة، فستُحدَّث النتيجة تلقائيًا كلما تغيّر النص الأصلي—وهو أمر مثالي للأوراق المستمرة، رغم أن النتيجة ستظل مرتبطة بالصيغة.

إذا كنت بحاجة إلى قيم نصية ثابتة، فانسخ نتائج الصيغة واستخدم:الصفحة الرئيسية>لصق>لصق القيم

2. عادةً ما تُرجع VBA وKutools نتائج ثابتة.

VBA وKutools مثاليان للمعالجة لمرة واحدة. فبمجرد إدراج الأحرف، لن تُحدَّث النتيجة تلقائيًا عند تعديل النص الأصلي ما لم تُشغِّل الكود أو الأداة مرة أخرى.

3. تحقق مما إذا كانت المجموعة الأخيرة أقصر.

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

4. خلايا فارغة

عندما يحتوي نطاق التحديد على خلايا فارغة، يستطيع كل من VBA وKutools عادةً تجاوزها تلقائيًا أو تركها دون تغيير. ومع ذلك، إذا استخدمت صيغًا، فقد تُنتج الخلايا الفارغة نتائج غير متوقعة أو أخطاء. ولتجنب ذلك، يمكنك تغليف الصيغة بدالة IF أو IFERROR للحفاظ على فراغ الخلايا الفارغة.

=IF(A2="","",TEXTJOIN("-",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4)))

5. الأحرف الخاصة

يمكنك إدراج أكثر الفواصل شيوعًا—مثل الواصلات، الفاصلات، المسافات، الشرطات المائلة، والنقاط—بطريقة طبيعية وسلسة. كما يُتاح لك إدراج أي نص مخصص آخر تريده.


الخاتمة

يمكن أن يُسهّل إدراج أحرف كل X أحرف في Excel قراءة سلاسل النصوص الطويلة وتنسيقها وإدارتها. فإذا كنت تستخدم Excel 365 أو Excel 2021، فإن طريقة الصيغة تُعد حلاً مرنًا وديناميكيًا. وإذا احتجتَ إلى معالجة العديد من الخلايا دفعة واحدة، يُمكن لـ VBA أن ينجز المهمة بكفاءة عالية. أما إذا رغبتَ في صيغة مخصصة قابلة لإعادة الاستخدام، فتُعد الدالة المعرّفة من قبل المستخدم (UDF) خيارًا ممتازًا. وإذا كنتَ تفضّل طريقة بسيطة ومرئية وخالية من البرمجة، فإن Kutools لـ Excel يوفّر لك حلاً أسرع للتعامل مع هذا النوع من مهام تنسيق النص.

بشكل عام، استخدم الصيغ للحصول على نتائج ديناميكية، ولجأ إلى VBA أو الدوال المعرّفة من قبل المستخدم (UDFs) عندما تحتاج تحكمًا أكبر، واستعن بـ Kutools لتبسيط سير العمل وتقليل الخطوات اليدوية.