كيفية إزالة الأحرف أو الكلمات المكررة في سلسلة نصية داخل خلية في Excel؟
عند العمل مع البيانات في Excel، من الشائع جدًا مواجهة حالات تحتوي فيها الخلايا على أحرف متكررة أو كلمات مكررة. على سبيل المثال، قد يكون لديك مدخلات من المستخدمين، سجلات تصدير، أو رموز منتجات حيث قد تظهر الأحرف أو الكلمات عدة مرات. إزالة هذه التكرارات يمكن أن يساعد في تنظيف بياناتك لتحليلها بشكل أفضل، تحسين قابلية القراءة، أو إعداد السلاسل النصية لاستخدامها في أنظمة أخرى.
يقدم هذا الدليل عدة طرق لإزالة الأحرف أو الكلمات المكررة داخل خلية واحدة. يمكنك اختيار الحل الأنسب بناءً على إصدار Excel الخاص بك، مستوى الراحة التقنية، ونوع الفاصل المستخدم في بياناتك. سواء كانت بياناتك تتضمن أحرفًا فردية أو كلمات بأكملها مفصولة بمسافات أو علامات ترقيم، هناك نهج عملي أدناه يمكنك استخدامه.
- إزالة الأحرف أو الكلمات المكررة باستخدام صيغة Excel (المصفوفات الديناميكية)
- إزالة الأحرف المكررة من سلسلة نصية باستخدام دالة معرفة من قبل المستخدم
- إزالة الكلمات المكررة المفصولة بعلامات ترقيم باستخدام دالة معرفة من قبل المستخدم
إزالة الأحرف أو الكلمات المكررة باستخدام صيغة 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 مع وسيطات إضافية إذا لم تكن بياناتك مهيأة بشكل متسق.
استخدام صيغ المصفوفات الديناميكية يساعد في الحفاظ على كفاءة سير العمل ويُبقي تنظيف البيانات محدثًا ومبسطًا لكل من أنماط السلاسل البسيطة والمعقدة.
إزالة الأحرف المكررة من سلسلة نصية باستخدام دالة معرفة من قبل المستخدم
إذا كان لديك نطاق من الخلايا يحتوي على سلاسل نصية وتحتاج إلى إزالة الأحرف المكررة من كل خلية - على سبيل المثال، تحويل "aabbcc" إلى "abc" كما هو موضح أدناه - يمكن أن تساعدك دالة VBA مخصصة في تحقيق ذلك بسرعة، خاصة إذا لم يدعم إصدار Excel الخاص بك صيغ المصفوفات المتقدمة.
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 هي الخلية التي تحتوي على السلسلة التي تريد معالجتها). انظر الرسم التوضيحي أدناه:
4. اضغط Enter لحساب النتيجة. اسحب أداة التعبئة لأسفل لتطبيق الدالة على جميع الخلايا ذات الصلة في العمود، وسترى أن جميع الأحرف المكررة تمت إزالتها من كل خلية مقابلة فورًا.
نصيحة: يتم الحفاظ على ترتيب الظهور - تحتفظ الدالة بأول ظهور لكل حرف وتزيل التكرارات اللاحقة داخل الخلية.
احتياطات: الدوال المعرفة من قبل المستخدم (UDFs) التي تم إضافتها عبر VBA تكون متاحة فقط في المصنف الذي تم تخزين الكود فيه. إذا نقلت أو شاركت مصنفك، تأكد من تضمين الماكرو أو إعادة إدخاله في الملف المستهدف. أيضًا، تحتاج الماكرو إلى التفعيل حتى يعمل الكود.

اكتشف سحر Excel مع Kutools AI
- التنفيذ الذكي: قم بعمليات الخلية، وتحليل البيانات، وإنشاء المخططات - كل ذلك يتم من خلال أوامر بسيطة.
- الصيغ المخصصة: قم بإنشاء صيغ مصممة خصيصًا لتسهيل سير عملك.
- برمجة VBA: كتابة وتطبيق أكواد VBA بسهولة.
- تفسير الصيغ: فهم الصيغ المعقدة بسهولة.
- ترجمة النصوص: تجاوز الحواجز اللغوية داخل جداول البيانات الخاصة بك.
إزالة الكلمات المكررة المفصولة بعلامات ترقيم باستخدام دالة معرفة من قبل المستخدم
في الحالات التي تتكون فيها بياناتك من كلمات مفصولة بعلامات ترقيم - مثل الفواصل، الفواصل المنقوطة، أو رموز أخرى - قد ترغب في إزالة الكلمات المتكررة داخل كل خلية مع الاحتفاظ فقط بأول ظهور لكل كلمة. هذا مفيد بشكل خاص لقوائم العلامات، الفئات، أو العناوين. يمكنك تحقيق ذلك بفعالية باستخدام دالة 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 تشير إلى الخلية المستهدفة و "," تشير إلى علامة الترقيم المستخدمة كفاصل. يمكنك استبدال هذه الفاصلة بحرف آخر (مثل ";" أو مسافة) إذا كانت الكلمات مقسمة بواسطة علامات ترقيم مختلفة.
4. اضغط Enter للتأكيد، ثم اسحب الصيغة إلى الأسفل لتعبئة الخلايا الأخرى حسب الحاجة. بعد هذه الخطوة، سيتم إزالة جميع الكلمات المكررة من خلاياها المقابلة، تاركة الكلمات الفريدة بالترتيب الأصلي. انظر النتيجة أدناه:
ملاحظة: في الصيغة، يمكنك تغيير كل من مرجع الخلية وفاصل الترقيم حسب ما يناسب بياناتك. إذا تم استخدام عدة أحرف أو أنواع مختلفة من الفواصل (مثل المسافة والفاصلة مجتمعتين)، قد تكون هناك حاجة إلى تعديلات إضافية في الكود.
نصيحة: كما هو الحال مع جميع ماكرو VBA، تذكر الاحتفاظ بنسخة احتياطية من مصنفك وتفعيل الماكرو لاستخدام هذه الوظيفة.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في 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 وPowerPoint + Office Tab Pro
- مثبّت واحد، ترخيص واحد — إعداد في دقائق (جاهز لـ MSI)
- الأداء الأفضل معًا — إنتاجية مُبسطة عبر تطبيقات Office
- تجربة كاملة لمدة30 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد