Menu
flag Ar iconالعربيةdown icon

حذف المسافات في الاكسل: دوال TRIM وCLEAN وSUBSTITUTE

تحذف =TRIM(A2) المسافات قبل النص في A2 وبعده، وتحوّل كل سلسلة من المسافات بين الكلمات إلى مسافة واحدة. وتحذف SUBSTITUTE كل المسافات أو المسافات غير المنقسمة التي تفوت TRIM.

كل ورقة في هذه الصفحة تفاعلية: غيّر رقمًا أو صيغة وسيُعاد الحساب.

تحذف =TRIM(A2) كل مسافة قبل النص في A2 وبعده، وتختصر كل سلسلة من المسافات بين الكلمات إلى مسافة واحدة. فتصبح " Ana Silva " بالشكل Ana Silva.

حذف المسافات الزائدة
B2
ABCD
1NameTRIMLength beforeLength after
2 Ana Silva Ana Silva149
3Ben Okafor Ben Okafor1310
4 Chen WuChen Wu107
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

المسافات غير مرئية في العمود A، ولهذا يوجد عمودا الطول: تعدّها LEN. تصل المسافات الزائدة عادة مع البيانات المستوردة أو الملصوقة، وتعطّل عمليات البحث والمقارنات دون أي علامة ظاهرة.

لماذا تعطّل المسافات الزائدة الصيغ

بالنسبة إلى الاكسل، Ana مع مسافة في آخرها وAna نصان مختلفان. فتعيد المقارنة FALSE، ولا تعدّ COUNTIF الخلية، ويعيد البحث #N/A:

مسافة في الآخر تمنع التطابق
D3
ABCD
1NameScoreIs it Ana?Ana's score
2Ana 90FALSEnot found
3Ben85TRUE90
4Chen78
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

قيمة C2 هي FALSE ولا تجد D2 شيئًا (وبدون وسيطها الرابع كانت XLOOKUP ستعرض #N/A) لأن A2 تحتوي على Ana مع مسافة. أما D3 فتحذف المسافات من عمود البحث كله داخل الصيغة وتجد 90. يعمل ذلك في Microsoft 365 وExcel 2021؛ وفي الإصدارات الأقدم، نظّف العمود أولًا. والمسافات من أكثر أسباب الخطأ #N/A في البحث شيوعًا.

حذف كل المسافات

تُبقي TRIM دائمًا مسافة واحدة بين الكلمات. ولحذف كل مسافة، مثلًا من رقم هاتف أو رمز منتج، استبدل المسافة بلا شيء:

TRIM مقابل حذف كل مسافة
B2
ABC
1CodeTRIMNo spaces
2 AB 12 34 AB 12 34AB1234
3555 201 3344555 201 33445552013344
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.
تنظيف أسماء العملاء
B2
AB
1CustomerClean name
2 Eli Novak
3Fay Ruiz
4Gus Lee
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: في الأسماء في العمود A مسافات زائدة. في B2، أعد الاسم الموجود في A2 دون مسافات حوله ومع مسافة واحدة بين الكلمات. تُنسخ الصيغة إلى الأسفل حتى B4.

TRIM لا تعمل: المسافات غير المنقسمة

يحتوي النص المنسوخ من صفحة ويب أو ملف PDF غالبًا على مسافات غير منقسمة، الحرف 160، بدلًا من المسافات العادية، الحرف 32. تبدوان متطابقتين، لكن TRIM لا تحذف إلا الحرف 32، فلا يتغير شيء في الاكسل:

A2:             Ana Silva   (a non-breaking space between the names and one at the end)
=LEN(A2)        10
=LEN(TRIM(A2))  10, TRIM removed nothing

الحل أن تحوّل كل حرف 160 إلى مسافة عادية بالدالة SUBSTITUTE أولًا، ثم تترك الباقي لـ TRIM. النص في A2 أدناه مبني بالدالة CHAR(160) لترى الحرف الذي تلصقه صفحة الويب:

إصلاح المسافات غير المنقسمة
D2
ABCDE
1Pasted textLengthCode of 4th characterFixedFixed length
2Ana Silva 10160Ana Silva9
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

توضح C2 كيف تتعرف على حرف غريب: تعيد CODE(MID(A2,4,1)) رمز الحرف الرابع، وهو 160 هنا. وفي D2 تسعة أحرف، أي الأحرف العشرة في A2 ناقص المسافة الأخيرة.

دالة CLEAN: حذف فواصل الأسطر والأحرف المخفية الأخرى

تحذف CLEAN الأحرف غير القابلة للطباعة ذات الرموز من 0 إلى 31: فواصل الأسطر (10)، وأحرف الرجوع (13)، وعلامات الجدولة (9). ولا تمس المسافات، لذا يكون الثنائي المعتاد =TRIM(CLEAN(A2)):

CLEAN ثم TRIM
B2
ABC
1ImportedCLEANTRIM(CLEAN)
2 Ana Silva AnaSilva AnaSilva
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

تحذف CLEAN فاصل السطر تمامًا، فيلتصق الاسمان بالشكل AnaSilva . وعندما يفصل فاصل السطر بين كلمات، استبدله بمسافة بدلًا من ذلك، =TRIM(SUBSTITUTE(A2,CHAR(10)," "))؛ وتعرض صفحة فاصل السطر هذه الحالة.

استبدال العمود الأصلي بالنص المنظّف

تكتب TRIM نتيجتها في خلية أخرى. لإصلاح البيانات نفسها:

  1. ضع =TRIM(A2) في عمود فارغ بجانب البيانات وانسخها إلى الأسفل.
  2. انسخ ذلك العمود (Ctrl+C، أو Cmd+C على Mac).
  3. حدد العمود الأصلي واختر الصفحة الرئيسية > لصق > لصق القيم، فتحصل الخلايا على نص لا على صيغ.
  4. احذف العمود المساعد.

يستطيع بحث واستبدال حذف المسافات دون صيغة، لكنه لا يميّز المسافات البادئة من التي بين الكلمات: استبدال المسافة بلا شيء يلصق Ana Silva لتصبح AnaSilva. واستبدال مسافتين بمسافة واحدة، مع التكرار حتى لا يجد الاكسل شيئًا يستبدله، هو النسخة اليدوية لقاعدة TRIM في المسافات الداخلية. وتبقى المسافة المفردة في البداية أو النهاية.

الأسئلة الشائعة

كيف أحذف المسافات في الاكسل؟

تحذف =TRIM(A2) المسافات البادئة واللاحقة وتترك مسافة واحدة بين الكلمات. ولحذف كل مسافة، بما في ذلك التي بين الكلمات، استخدم =SUBSTITUTE(A2," ","").

لماذا لا تحذف TRIM المسافات؟

الأرجح أن المسافات غير منقسمة (الحرف 160)، وهي شائعة في النص المنسوخ من صفحات الويب. لا تحذف TRIM إلا المسافة العادية، الحرف 32. حوّلها أولًا: =TRIM(SUBSTITUTE(A2,CHAR(160)," ")).

ما الفرق بين TRIM وCLEAN؟

تحذف TRIM المسافات الزائدة. وتحذف CLEAN الأحرف غير القابلة للطباعة ذات الرموز من 0 إلى 31، مثل فواصل الأسطر وعلامات الجدولة. وتفعل =TRIM(CLEAN(A2)) الأمرين.

كيف أستبدل العمود الأصلي بالنص بعد حذف المسافات؟

اكتب =TRIM(A2) في عمود احتياطي وانسخها إلى الأسفل، ثم انسخ ذلك العمود، وحدد العمود الأصلي، واختر الصفحة الرئيسية > لصق > لصق القيم. ثم احذف العمود المساعد.

رسم توضيحي للغات البرمجة في Coddy

تعلّم البرمجة مع Coddy

ابدأ الآن