كيفية حذف الأحرف الخاصة / غير المرغوب فيها في Excel

  • شارك هذا
Michael Brown

في هذه المقالة ، ستتعلم كيفية حذف أحرف معينة من سلسلة نصية وإزالة الأحرف غير المرغوب فيها من خلايا متعددة في وقت واحد.

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

    إزالة الحرف الخاص من خلية Excel

    لحذف حرف معين من خلية ، استبدله بسلسلة فارغة باستخدام الدالة SUBSTITUTE في أبسط أشكالها:

    SUBSTITUTE ( خلية، حرف، "")

    على سبيل المثال ، لإزالة علامة استفهام من A2 ، تكون الصيغة في B2 هي:

    =SUBSTITUTE(A2, "?", "")

    لإزالة حرف غير موجود على لوحة المفاتيح ، يمكنك نسخه / لصقه في الصيغة من الخلية الأصلية.

    على سبيل المثال ، إليك كيفية التخلص من علامة الاستفهام المقلوبة:

    =SUBSTITUTE(A2, "¿", "")

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

    في حالتنا ، يأتي الحرف غير المرغوب فيه ("¿") أخيرًا في الخلية A2 ، لذلك نحن نستخدم مجموعةمن وظائف CODE و RIGHT لاسترداد قيمة الكود الفريدة الخاصة بها ، وهي 191:

    =CODE(RIGHT(A2))

    بمجرد حصولك على رمز الحرف ، قم بتقديم CHAR المقابل تعمل على الصيغة العامة أعلاه. بالنسبة لمجموعة البيانات الخاصة بنا ، تسير الصيغة على النحو التالي:

    =SUBSTITUTE(A2, CHAR(191),"")

    ملاحظة. وظيفة SUBSTITUTE هي حساسة لحالة الأحرف ، مما يعني أنها تتعامل مع الأحرف الصغيرة والكبيرة كأحرف مختلفة. من فضلك ضع ذلك في الاعتبار إذا كانت شخصيتك غير المرغوب فيها هي حرف.

    حذف عدة أحرف من السلسلة

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

    استبدال (استبدال ( خلية ، حرف 1 ، "") ، حرف 2 ، "")، char3 ، "")

    على سبيل المثال ، لإزالة التعجب العادي وعلامات الاستفهام بالإضافة إلى العلامات المقلوبة من سلسلة نصية في A2 ، استخدم هذه الصيغة:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "!", ""), "¡", ""), "?", ""), "¿", "")

    يمكن فعل الشيء نفسه بمساعدة وظيفة CHAR ، حيث 161 هو رمز الحرف لـ "¡" و 191 هو رمز الحرف لـ "":

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3, "!", ""), "?", ""), CHAR(161), ""), CHAR(191), "")

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

    إزالة جميع الأحرف غير المرغوب فيها مرة واحدة

    الحل يعمل فقط في Excel لـ Microsoft 365

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

    وظيفة LAMBDA المخصصة لإزالة الأحرف غير المرغوب فيها هي كما يلي:

    =LAMBDA(string, chars, IF(chars"", RemoveChars(SUBSTITUTE(string, LEFT(chars, 1), ""), RIGHT(chars, LEN(chars) -1)), string))

    لتتمكن من استخدام هذه الوظيفة في أوراق العمل الخاصة بك ، تحتاج إلى تسميتها أولاً. لهذا ، اضغط على Ctrl + F3 لفتح Name Manager ، ثم حدد اسم جديد بهذه الطريقة:

    1. في الاسم في المربع ، أدخل اسم الوظيفة: RemoveChars .
    2. اضبط النطاق على مصنف .
    3. في يشير إلى ، الصق الصيغة أعلاه.
    4. اختياريًا ، أدخل وصف المعلمات في المربع تعليقات . سيتم عرض المعلمات عند كتابة صيغة في خلية.
    5. انقر فوق موافق لحفظ الوظيفة الجديدة.

    للحصول على إرشادات مفصلة ، يرجى الاطلاع كيفية تسمية دالة LAMBDA مخصصة.

    بمجرد حصول الوظيفة على اسم ، يمكنك الرجوع إليها مثل أي صيغة أصلية.

    من وجهة نظر المستخدم ، فإن صيغة وظيفتنا المخصصة بسيطة مثلهذا:

    RemoveChars (سلسلة ، أحرف)

    حيث:

    • String - هي السلسلة الأصلية ، أو مرجع إلى الخلية / النطاق الذي يحتوي على السلسلة ( s).
    • حرف - أحرف لحذفها. يمكن تمثيلها بسلسلة نصية أو مرجع خلية.

    للراحة ، نقوم بإدخال أحرف غير مرغوب فيها في بعض الخلايا ، على سبيل المثال D2. لإزالة هذه الأحرف من A2 ، الصيغة هي:

    =RemoveChars(A2, $D$2)

    لكي تعمل الصيغة بشكل صحيح ، يرجى ملاحظة الأشياء التالية:

    • في D2 ، يتم سرد الأحرف بدون مسافات ، إلا إذا كنت ترغب في إزالة المسافات أيضًا.
    • يتم تأمين عنوان الخلية التي تحتوي على الأحرف الخاصة بعلامة $ ($ D $ 2) لمنع المرجع من التغيير عند التعامل مع الصيغة إلى الخلايا أدناه.

    وبعد ذلك ، نسحب الصيغة لأسفل ونحذف جميع الأحرف المدرجة في D2 من الخلايا من A2 إلى A6:

    لتنظيف خلايا متعددة باستخدام صيغة واحدة ، قم بتوفير النطاق A2: A6 للوسيطة الأولى:

    =RemoveChars(A2:A6, D2)

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

    إزالة مجموعة أحرف محددة مسبقًا

    لحذف مجموعة محددة مسبقًا من شخصيات من خلايا متعددة ، يمكنك إنشاؤهاLAMBDA آخر يستدعي الوظيفة الرئيسية RemoveChars ويحدد الأحرف غير المرغوب فيها في المعلمة الثانية. على سبيل المثال:

    لحذف أحرف خاصة ، أنشأنا وظيفة مخصصة باسم RemoveSpecialChars :

    =LAMBDA(string, RemoveChars(string, "?¿!¡*%#@^"))

    إلى إزالة الأرقام من السلاسل النصية ، لقد أنشأنا وظيفة أخرى باسم RemoveNumbers :

    =LAMBDA(string, RemoveChars(string, "0123456789"))

    كلتا الوظيفتين أعلاه في غاية السهولة لاستخدامها لأنها تتطلب وسيطة واحدة فقط - السلسلة الأصلية.

    لإزالة الأحرف الخاصة من A2 ، تكون الصيغة:

    =RemoveSpecialChars(A2)

    لحذف الأحرف الرقمية فقط:

    =RemoveNumbers(A2)

    كيف تعمل هذه الوظيفة:

    في جوهرها ، تتكرر وظيفة RemoveChars عبر قائمة حرف وتزيل حرفًا واحدًا في كل مرة. قبل كل مكالمة متكررة ، تتحقق وظيفة IF من الأحرف المتبقية. إذا كانت سلسلة الأحرف فارغة (أحرف "") ، تستدعي الوظيفة نفسها. بمجرد معالجة الحرف الأخير ، تُرجع الصيغة سلسلة هي شكلها الحالي وتخرج منها.

    للحصول على تفاصيل الصيغة التفصيلية ، يرجى الاطلاع على Recursive LAMBDA لإزالة الأحرف غير المرغوب فيها.

    إزالة الأحرف الخاصة باستخدام VBA

    تعمل الوظائف في جميع إصدارات Excel

    إذا لم تكن وظيفة LAMBDA متوفرة في Excel ، فلا شيء يمنعك من إنشاء وظيفة مماثلة باستخدام VBA. محدد من قبل المستخدميمكن كتابة الوظيفة (UDF) بطريقتين.

    وظيفة مخصصة لحذف الأحرف الخاصة عودي :

    هذا الرمز يحاكي منطق دالة LAMBDA التي تمت مناقشتها أعلاه.

    Function RemoveUnwantedChars (str As String، chars As String) If ("" chars) ثم str = استبدال (str، Left (chars، 1)، "") chars = Right (chars، Len (chars) - 1) RemoveUnwantedChars = RemoveUnwantedChars (str، chars) Else RemoveUnwantedChars = str End If End Function

    وظيفة مخصصة لإزالة الأحرف الخاصة غير متكررة :

    هنا ، نقوم بالتنقل بين الأحرف غير المرغوب فيها من 1 إلى Len (chars) واستبدل تلك الموجودة في السلسلة الأصلية بلا شيء. تقوم وظيفة MID بسحب الأحرف غير المرغوب فيها واحدًا تلو الآخر وتمريرها إلى وظيفة الاستبدال.

    الوظيفة RemoveUnwantedChars (str As String ، chars As String) للفهرس = 1 إلى Len (chars) str = استبدال (str، Mid (chars، index، 1)، "") Next RemoveUnwantedChars = str End Function

    أدخل أحد الرموز المذكورة أعلاه في مصنفك كما هو موضح في كيفية إدراج رمز VBA في Excel ، وستكون وظيفتك المخصصة جاهزة للاستخدام.

    عدم الخلط بين وظيفتنا الجديدة المعرفة من قبل المستخدم والوظيفة المحددة من قبل Lambda ، فقد أطلقنا عليها اسمًا مختلفًا:

    RemoveUnwantedChars (سلسلة ، أحرف)

    بافتراض أن السلسلة الأصلية في A2 وأحرف غير مرحب بها في D2 ، يمكننا التخلص منها باستخدام هذه الصيغة:

    = RemoveUnwantedChars(A2, $D$2)

    وظيفة مخصصة مع تشفير ثابتالأحرف

    إذا كنت لا تريد القلق بشأن توفير أحرف خاصة لكل صيغة ، فيمكنك تحديدها مباشرةً في الكود:

    الوظيفة RemoveSpecialChars (str As String) على أنها سلسلة أحرف باهتة مثل String Dim index As Long chars = "؟ ¿! ¡*٪ # $ () {} [] ^ & amp؛ / \ ~ + -" للفهرس = 1 إلى Len (chars) str = استبدال (str، Mid (chars، index، 1) ، "") التالي RemoveSpecialChars = str End Function

    يُرجى الانتباه إلى أن الكود أعلاه لأغراض توضيحية. للاستخدام العملي ، تأكد من تضمين جميع الأحرف التي تريد حذفها في السطر التالي:

    chars = "?¿!¡*%#$(){}[]^&/\~+-"

    هذه الوظيفة المخصصة تسمى RemoveSpecialChars وتتطلب واحدة فقط الوسيطة - السلسلة الأصلية:

    RemoveSpecialChars (سلسلة)

    لإزالة الأحرف الخاصة من مجموعة البيانات الخاصة بنا ، تكون الصيغة:

    =RemoveSpecialChars(A2)

    إزالة الأحرف غير القابلة للطباعة في Excel

    لدى Microsoft Excel وظيفة خاصة لحذف الأحرف غير القابلة للطباعة - وظيفة CLEAN. من الناحية الفنية ، يزيل أول 32 حرفًا في مجموعة ASCII المكونة من 7 بتات (الرموز من 0 إلى 31).

    على سبيل المثال ، لحذف أحرف غير قابلة للطباعة من A2 ، إليك الصيغة التي يجب استخدامها :

    =CLEAN(A2)

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

    إلى تخلص من مسافات إضافية ، قم بلف صيغة CLEAN في دالة TRIM:

    =TRIM(CLEAN(A2))

    الآن ، كل البادئة وتتم إزالة المسافات اللاحقة ، بينما يتم تقليل المسافات البينية إلى حرف مسافة واحد:

    إذا كنت ترغب في حذف تمامًا كل المسافات بالداخل سلسلة ، ثم استبدل حرف المسافة (رقم الكود 32) بسلسلة فارغة:

    =TRIM(CLEAN((SUBSTITUTE(A2, CHAR(32), ""))))

    لا تزال بعض المسافات أو الأحرف الأخرى غير المرئية في ورقة العمل الخاصة بك؟ هذا يعني أن هذه الأحرف لها قيم مختلفة في مجموعة أحرف Unicode.

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

    =SUBSTITUTE(A2, CHAR(160)," ")

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

    حذف الأحرف الخاصة باستخدام Ultimate Suite

    يدعم Excel لـ Microsoft 365 ، Excel 2019 - 2010

    في هذا المثال الأخير ، دعني أوضح لك أسهل طريقة لإزالة الأحرف الخاصة في Excel. مع تثبيت Ultimate Suite ، هذا ما عليك القيام به:

    1. في علامة التبويب Ablebits Data في علامة التبويب Text ، انقر فوق إزالة & gt؛ إزالة الأحرف .

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

    إذا حدث خطأ ما ، فلا تقلق - سيتم إنشاء نسخة احتياطية من ورقة العمل الخاصة بك تلقائيًا حيث يتم تحديد المربع نسخ احتياطي لورقة العمل افتراضيًا.

    هل تشعر بالفضول لتجربة أداة الإزالة الخاصة بنا؟ يوجد رابط لإصدار التقييم أدناه. أشكرك على القراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!

    التنزيلات المتاحة

    حذف الأحرف الخاصة - أمثلة (ملف .xlsm)

    Ultimate Suite - نسخة تجريبية version (ملف exe.)

    مايكل براون متحمس للتكنولوجيا ولديه شغف لتبسيط العمليات المعقدة باستخدام أدوات البرمجيات. مع أكثر من عشر سنوات من الخبرة في صناعة التكنولوجيا ، صقل مهاراته في Microsoft Excel و Outlook ، بالإضافة إلى جداول بيانات Google والمستندات. مدونة مايكل مكرسة لمشاركة معرفته وخبرته مع الآخرين ، وتقديم نصائح ودروس تعليمية سهلة المتابعة لتحسين الإنتاجية والكفاءة. سواء كنت محترفًا متمرسًا أو مبتدئًا ، تقدم مدونة مايكل رؤى قيمة ونصائح عملية للحصول على أقصى استفادة من أدوات البرامج الأساسية هذه.