جدول المحتويات
هناك ثلاث طرق للبحث عن التكرارات وحذفها داخل خلية في Excel. ما عليك سوى اختيار الخيار الذي يناسبك.
عندما يتعلق الأمر بإزالة القيم أو الصفوف المكررة ، يقدم Microsoft Excel مجموعة من الخيارات المختلفة. ولكن عندما يتعلق الأمر بإزالة نص متطابق داخل خلية معينة ، لا يوفر Excel… أي شيء. لا أدوات ، لا ميزات ، لا صيغ ، لا شيء. هل ستمنعنا من تحقيق هدفنا؟ بأي حال من الأحوال. إذا لم يكن لدى Excel الوظيفة التي نحتاجها ، فلنبدأ في كتابة وظيفة خاصة بنا :)
كيفية إزالة الكلمات المكررة في خلية Excel
المشكلة : لديك نفس الكلمات أو السلاسل النصية في خلية وترغب في إزالة الثانية وكل التكرارات اللاحقة.
الحل : وظيفة مخصصة معرّفة من قبل المستخدم أو ماكرو VBA.
وظيفة معرّفة من قبل المستخدم لإزالة التكرارات داخل خلية
لإزالة النص المكرر في خلية ، يمكنك استخدام الوظيفة التالية المعرفة من قبل المستخدم (UDF) ، المسمى RemoveDupeWords :
Function RemoveDupeWords (text As String، Optional المحدد As String = "") كـ String Dim Dictionary As Object Dim x، part Set Dictionary = CreateObject ("Scripting.Dictionary") القاموس .CompareMode = vbTextCompare لكل x In Split (text، delimiter) part = Trim (x) If part "" And Not Dictionary.Exists (part) ثم Dictionary.Add part، Nothing End If Next If Dictionary.Count & gt؛ 0 ثم RemoveDupeWords = Join (Dictionary.keys،delimiter) Else RemoveDupeWords = "" End If Set Dictionary = Nothing End Functionكيفية إدراج رمز الوظيفة في مصنفك
لإضافة الكود أعلاه إلى Excel ، هذا ما عليك القيام به:
- اضغط على Alt + F11 لفتح محرر Visual Basic.
- في الجزء الأيمن ، انقر بزر الماوس الأيمن فوق ThisWorkbook وحدد إدراج & gt؛ الوحدة النمطية .
- الصق الكود أعلاه في نافذة الرمز .
لمزيد من المعلومات ، يرجى الاطلاع على كيفية إدراج VBA كود في Excel.
بناء جملة الدالة RemoveDupeWords
تحتوي وظيفتنا التي تم إنشاؤها حديثًا لإزالة النص المكرر في خلية على الصيغة التالية:
RemoveDupeWords (text، [delimiter])أين :
- نص (مطلوب) - سلسلة أو خلية تريد حذف النص المكرر منها.
- المحدد (اختياري) - المحدد الذي يفصل به النص المكرر. إذا تم حذفها ، يتم استخدام مسافة للمحدد.
الوظيفة ليست حساسة لحالة الأحرف ، مما يعني أنه يتم التعامل مع الأحرف الصغيرة والكبيرة على أنها نفس الأحرف.
كيفية استخدام وظيفة RemoveDupeWords
بمجرد إضافة رمز الوظيفة إلى مصنفك ، يمكنك استخدامها في الصيغ بنفس طريقة استخدام وظائف Excel المضمنة.
ما عليك سوى البدء في كتابة اسم الوظيفة بعد علامة التساوي ، وستظهر في الصيغة intellisense. انقر نقرًا مزدوجًا فوق الوظيفة ، وستحصل عليهاتم إدراجه في خلية. حدد الوسيطات ، واكتب قوس الإغلاق ، واضغط على Enter ، وستكتمل الصيغة.
على سبيل المثال ، لحذف الكلمات المكررة مفصولة بفاصلة ومسافة من A2 ، أدخل الصيغة أدناه في B2 ، ثم اسحبها لأسفل عبر العديد من الخلايا حسب الحاجة:
=RemoveDupeWords(A2, ", ")
ونتيجة لذلك ، سيكون لديك قائمة من الكلمات أو السلاسل الفرعية الفريدة مفصولة بعلامة فاصلة ومسافة :
إذا كنت تفضل الحصول على قائمة مفصولة بفواصل ، فاستخدم فقط فاصلة للمحدد :
=RemoveDupeWords(A2, ",")
إذا تم فصل بيانات المصدر بمسافة ، فيجب أن تكون الوسيطة الثانية "" أو تم حذفها:
=RemoveDupeWords(A2)
مثل أي وظيفة أخرى في Excel ، يعيد UDF الحساب تلقائيًا عندما تتغير بيانات المصدر ، لذلك ستكون نتائجك محدثة دائمًا.
ماكرو VBA لحذف النص المكرر من خلايا متعددة في وقت واحد
إذا كنت تبحث عن إزالة نص مكرر من خلايا متعددة دفعة واحدة ، فيمكنك استدعاء الوظيفة RemoveDupeWords من الخلف م داخل الماكرو. في هذه الحالة ، يكون المحدِّد مضغوطًا ، وسيتعين عليك تحديث رمز الماكرو في كل مرة يتغير فيها المحدد. بدلاً من ذلك ، يمكنك كتابة بعض الأشكال المختلفة من التعليمات البرمجية لأكثر المحددات شيوعًا ، على سبيل المثال ، مسافة أو فاصلة أو فاصلة ومسافة ، وإعطاء أسماء ذات مغزى لوحدات الماكرو ، على سبيل المثال RemoveDupesDelimSpace .
رمز الماكرو كما يلي:
Public Sub إزالة مسافة. لاستخدام محدد مختلف ، استبدل "،" بحرف (أحرف) آخر في سطر الرمز هذا: cell.Value = RemoveDupeWords(cell.Value, ", ")
ملاحظة. لكي يعمل الماكرو ، يجب وضع الكود الخاص به ورمز وظيفة RemoveDupeWords في نفس الوحدة النمطية.
كيفية استخدام الماكرو
أدخل رمز الماكرو في المصنف الخاص بك أو افتح نموذج المصنف الخاص بنا مع الرمز ، ثم نفذ الخطوات التالية لتشغيل الماكرو.
- حدد نطاقًا من الخلايا تريد إزالة النص المكرر منه.
- اضغط على Alt + F8 لفتح مربع الحوار ماكرو .
- في قائمة وحدات الماكرو ، حدد RemoveDupeWords2 .
- انقر فوق تشغيل .
لمزيد من التفاصيل ، يرجى الاطلاع على كيفية قم بتشغيل ماكرو في Excel.
ملاحظة. نظرًا لأنه لا يمكن التراجع عن إجراء الماكرو ، فإننا نوصي بشدة بحفظ المصنف الخاص بك مباشرةً قبل استخدام الماكرو. بهذه الطريقة ، إذا حدث خطأ ما ، يمكنك ببساطة إغلاق المصنف وإعادة فتحه ، وستعود إلى المكان الذي كنت فيه بالضبط. أو يمكنك فقط إنشاء نسخة من ورقة (أوراق) العمل التي قد تتأثر بالماكرو.
كيفية إزالة الأحرف المكررة في خلية
المشكلة : لديك تكرارات متعددة لنفس الحرف في خلية ، بينما كل تكراريجب أن تحتوي الخلية على تكرار واحد فقط لحرف معين.
الحل : وظيفة مخصصة يحددها المستخدم أو ماكرو VBA.
وظيفة معرّفة من قبل المستخدم لحذف الأحرف المكررة
لإزالة الأحرف المكررة داخل خلية مع الاحتفاظ بالتكرارات الأولى فقط ، يمكنك استخدام الوظيفة التالية المعرفة من قبل المستخدم ، المسماة RemoveDupeChars :
الوظيفة RemoveDupeChars (نص كسلسلة) كقاموس خافت للسلسلة مثل حرف خافت للكائن نتيجة تعتيم سلسلة كقاموس مجموعة سلسلة = CreateObject ("Scripting.Dictionary") لـ i = 1 إلى Len (نص) char = Mid (text، i، 1 ) إذا لم يكن Dictionary.Exists (char) ، ثم Dictionary.Add char، Nothing result = result & amp؛ char End If Next RemoveDupeChars = result Set Dictionary = Nothing End Functionلإدراج رمز الوظيفة في المصنف الخاص بك ، فإن الخطوات هي نفسها تمامًا كما في المثال السابق.
بناء جملة الدالة RemoveDupeChars
بناء جملة هذه الوظيفة المخصصة بسيط بقدر الإمكان - مطلوب وسيطة واحدة فقط:
RemoveDupeChars (نص)حيث النص عبارة عن سلسلة أو خلية تريد منها لإزالة الأحرف المكررة.
الوظيفة حساسة لحالة الأحرف وتعامل الأحرف الصغيرة والكبيرة كأحرف مختلفة.
كيفية استخدام وظيفة RemoveDupeChars
كل ما قلناه عن استخدام RemoveDupeWords صحيح بالنسبة لـ RemoveDupeChars . لذلك ، دون الذهابالكثير من الناحية النظرية ، دعنا ننتقل مباشرة إلى مثال.
لحذف الأحرف المكررة من العمود A بداية من A2 ، أدخل هذه الصيغة في B2 وانسخها لأسفل:
=RemoveDupeChars(A2)
كما ترى في الصورة أدناه ، تتعامل الوظيفة بنجاح مع أنواع مختلفة من الأحرف بما في ذلك الأحرف والأرقام والرموز الخاصة:
نصيحة. إذا كانت الأحرف الخاصة بك مفصولة عن بعضها البعض بواسطة بعض المحدد مثل مسافة أو فاصلة أو واصلة ، فاستخدم عندئذٍ وظيفة RemoveDupeWords كما هو موضح في المثال السابق.
ماكرو VBA لإزالة الأحرف نفسها من خلية
مثل RemoveDupeWords ، يمكن أيضًا استدعاء الوظيفة RemoveDupeChars من داخل ماكرو:
عام Sub RemoveDupeChars2 () خلية خافتة كنطاق لكل خلية في التطبيق. خلية التحديد.Value = RemoveDupeChars (cell.Value) Next End Subنظرًا لأن UDF هذا لا يستخدم أي محدد ، فلن تضطر إلى إجراء أي تعديلات في الكود.
ملاحظة. لكي يعمل الماكرو ، يجب وضع الكود الخاص به ورمز RemoveDupeChars UDF في نفس الوحدة النمطية في محرر VBA.
كيفية استخدام الماكرو
بافتراض أنك أدخلت بالفعل رمز الماكرو في المصنف الخاص بك أو فتحت نموذج المصنف الذي يحتوي على التعليمات البرمجية ، فقم بتشغيل الماكرو بهذه الطريقة.
- حدد نطاقًا من الخلايا تريد إزالة الأحرف المتكررة منه.
- اضغط على Alt + F8 لفتح مربع الحوار ماكرو
- في قائمة وحدات الماكرو ، حدد RemoveDupeChars2 .
- انقر فوق تشغيل .
إزالة السلاسل الفرعية المكررة باستخدام Ultimate Suite
في بداية هذا البرنامج التعليمي ، تم ذكر أن Microsoft Excel لا يحتوي على ميزة مضمنة لإزالة التكرارات داخل الخلية. لكن Ultimate Suite الخاص بنا يعمل!
يمكنك العثور عليه في القائمة المنسدلة Duplicate Remover في علامة التبويب Ablebits Data في علامة التبويب Dedupe المجموعة. إذا لم يظهر الخيار إزالة السلاسل الفرعية المكررة في Excel ، فتأكد من تثبيت أحدث إصدار من Ultimate Suite (يمكن تنزيل نسخة تجريبية مجانية هنا).
لإزالة الكلمات أو النصوص المكررة من خلايا متعددة في 5 ثوان (ثانية لكل خطوة :) ، هذا ما عليك القيام به:
- حدد بيانات المصدر الخاصة بك وقم بتشغيل أداة إزالة السلاسل الفرعية المكررة .
- حدد المحدد .
- حدد ما إذا كنت ستتعامل مع المحددات المتتالية على أنها واحدة (افتراضيًا).
- اختر ما إذا كنت تريد إجراء بحث حساس لحالة الأحرف أو غير حساس لحالة الأحرف .
- انقر فوق إزالة .
تم! لا تلاعب بـ VBA أو الصيغ ، فقط نتائج سريعة ودقيقة.
لمعرفة المزيد حول هذه الوظيفة الإضافية الرائعة ، يرجى زيارة صفحتها الرئيسية. أو أفضل من ذلك ، قم بتنزيل إصدار تقييم أدناه وجربه!
هذه هي طريقة إزالة النص المكرر في الخلية.أشكرك على القراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!
التنزيلات المتاحة
أمثلة لإزالة التكرارات في الخلية (ملف .xlsm)
Ultimate Suite 14 - إصدار كامل الوظائف (ملف exe.)