Skip to main content

Kutools for Office — مجموعة واحدة. خمسة أدوات. أنجز المزيد.

كيفية إزالة الأحرف أو الكلمات المكررة في سلسلة نصية داخل خلية في Excel؟

Author Xiaoyang Last modified

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

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


arrow blue right bubble إزالة الأحرف أو الكلمات المكررة باستخدام صيغة Excel (المصفوفات الديناميكية)

إذا كنت تستخدم Microsoft 365 أو Excel 2021 وما بعده، يمكنك الاستفادة من صيغ المصفوفات الديناميكية لإزالة الأحرف أو الكلمات المكررة من خلية - بالكامل دون الحاجة إلى VBA. هذه الوظائف مثل TEXTSPLIT، UNIQUE، TEXTJOIN، و MID تسهل تقسيم، إزالة التكرار، وإعادة تكوين السلسلة مباشرة في ورقة العمل الخاصة بك.

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

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

لإزالة الأحرف المكررة داخل الخلية (مثل "banana" → "ban"):

1. حدد الخلية التي تريد عرض النتيجة فيها (على سبيل المثال، الخلية B2 بجانب الخلية المصدر A2) وأدخل الصيغة التالية:

=TEXTJOIN("",,UNIQUE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)))

تقوم هذه الصيغة بتقسيم محتويات A2 إلى أحرف فردية باستخدام MID، وتولد مواقع تسلسلية باستخدام ROW(INDIRECT(...))، تستخرج الأحرف الفريدة باستخدام UNIQUE، ثم تعيد تجميعها مرة أخرى في سلسلة نصية باستخدام TEXTJOIN.

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

ملاحظة: إذا رأيت خطأ #NAME؟، فقد لا يدعم إصدار Excel الخاص بك هذه الوظائف. يرجى التحقق من أنك تستخدم Excel لـ Microsoft 365 أو Excel 2021 أو الإصدارات الأحدث.

حل المشكلات: أحيانًا قد تتداخل المسافات الإضافية أو علامات الترقيم مع النتائج. ضع في اعتبارك استخدام TRIM أو TEXTSPLIT مع وسيطات إضافية إذا لم تكن بياناتك مهيأة بشكل متسق.

استخدام صيغ المصفوفات الديناميكية يساعد في الحفاظ على كفاءة سير العمل ويُبقي تنظيف البيانات محدثًا ومبسطًا لكل من أنماط السلاسل البسيطة والمعقدة.


arrow blue right bubble إزالة الأحرف المكررة من سلسلة نصية باستخدام دالة معرفة من قبل المستخدم

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

Duplicate characters removed from each cell

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

2. انقر فوق Insert > Module، والصق الكود التالي في نافذة الوحدة. تأكد من إضافة الكود في بداية الوحدة لتجنب التعارض مع أي ماكرو آخر قد يكون لديك.

VBA code: إزالة الأحرف المكررة من سلسلة نصية في خلية

Function RemoveDupes1(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
    xChar = VBA.Mid(xValue, i, 1)
    If xDic.Exists(xChar) Then
    Else
        xDic(xChar) = ""
        xOutValue = xOutValue & xChar
    End If
Next
RemoveDupes1 = xOutValue
End Function

3. بعد حفظ وإغلاق نافذة كود VBA، عد إلى ورقة العمل الخاصة بك. أدخل هذه الصيغة =removedupes1(A2) في خلية فارغة بجانب النص الأصلي (هنا، A2 هي الخلية التي تحتوي على السلسلة التي تريد معالجتها). انظر الرسم التوضيحي أدناه:

Formula entered in the first cell

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

Formula populated to the below cells

نصيحة: يتم الحفاظ على ترتيب الظهور - تحتفظ الدالة بأول ظهور لكل حرف وتزيل التكرارات اللاحقة داخل الخلية.

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

a screenshot of kutools for excel ai

اكتشف سحر Excel مع Kutools AI

  • التنفيذ الذكي: قم بعمليات الخلية، وتحليل البيانات، وإنشاء المخططات - كل ذلك يتم من خلال أوامر بسيطة.
  • الصيغ المخصصة: قم بإنشاء صيغ مصممة خصيصًا لتسهيل سير عملك.
  • برمجة VBA: كتابة وتطبيق أكواد VBA بسهولة.
  • تفسير الصيغ: فهم الصيغ المعقدة بسهولة.
  • ترجمة النصوص: تجاوز الحواجز اللغوية داخل جداول البيانات الخاصة بك.
عزز قدرات Excel لديك باستخدام أدوات تعمل بالذكاء الاصطناعي. قم بالتنزيل الآن وعش تجربة الكفاءة كما لم يحدث من قبل!

arrow blue right bubble إزالة الكلمات المكررة المفصولة بعلامات ترقيم باستخدام دالة معرفة من قبل المستخدم

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

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

2. انقر فوق Insert > Module، والصق الكود التالي في نافذة الوحدة. ضع الكود في بداية وحدة جديدة إذا أمكن، لتحقيق الوضوح.

VBA code: إزالة الكلمات المكررة المفصولة بعلامات ترقيم من خلية

Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
    Dim x
    'Updateby Extendoffice
    With CreateObject("Scripting.Dictionary")
        .CompareMode = vbTextCompare
        For Each x In Split(txt, delim)
            If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
        Next
        If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
    End With
End Function

3. بعد حفظ وإغلاق نافذة VBA، عد إلى ورقة العمل الخاصة بك. في عمود فارغ بجانب بياناتك، أدخل هذه الصيغة: =RemoveDupes2(A2,","). هنا، A2 تشير إلى الخلية المستهدفة و "," تشير إلى علامة الترقيم المستخدمة كفاصل. يمكنك استبدال هذه الفاصلة بحرف آخر (مثل ";" أو مسافة) إذا كانت الكلمات مقسمة بواسطة علامات ترقيم مختلفة.

Formula entered in the first cell

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

Formula populated to the below cells

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

نصيحة: كما هو الحال مع جميع ماكرو VBA، تذكر الاحتفاظ بنسخة احتياطية من مصنفك وتفعيل الماكرو لاستخدام هذه الوظيفة.


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

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

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


Office Tab يجلب واجهة التبويب إلى Office ويجعل عملك أسهل بكثير

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

جميع إضافات Kutools. مثبت واحد

حزمة Kutools for Office تجمع بين إضافات Excel وWord وOutlook وPowerPoint إضافة إلى Office Tab Pro، وهي مثالية للفرق التي تعمل عبر تطبيقات Office.

Excel Word Outlook Tabs PowerPoint
  • حزمة الكل في واحد — إضافات Excel وWord وOutlook وPowerPoint + Office Tab Pro
  • مثبّت واحد، ترخيص واحد — إعداد في دقائق (جاهز لـ MSI)
  • الأداء الأفضل معًا — إنتاجية مُبسطة عبر تطبيقات Office
  • تجربة كاملة لمدة30 يومًا — بدون تسجيل، بدون بطاقة ائتمان
  • قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد