=TRIM(A2) מסירה כל רווח שלפני הטקסט ב-A2 ואחריו, ומקצרת כל רצף של רווחים בין מילים לרווח אחד. " Ana Silva " הופך ל-Ana Silva.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | TRIM | Length before | Length after |
| 2 | Ana Silva | Ana Silva | 14 | 9 |
| 3 | Ben Okafor | Ben Okafor | 13 | 10 |
| 4 | Chen Wu | Chen Wu | 10 | 7 |
הרווחים בעמודה A בלתי נראים, ובגלל זה יש את עמודות האורך: LEN סופרת אותם. רווחים מיותרים מגיעים בדרך כלל עם נתונים שיובאו או הודבקו, והם שוברים חיפושים והשוואות בלי שום סימן גלוי.
למה רווחים מיותרים שוברים נוסחאות
בשביל אקסל, Ana עם רווח בסוף ו-Ana הם טקסטים שונים. השוואה מחזירה FALSE, COUNTIF לא סופרת את התא, וחיפוש מחזיר #N/A:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Score | Is it Ana? | Ana's score |
| 2 | Ana | 90 | FALSE | not found |
| 3 | Ben | 85 | TRUE | 90 |
| 4 | Chen | 78 |
C2 הוא FALSE ו-D2 לא מוצא כלום (בלי הארגומנט הרביעי שלה XLOOKUP הייתה מציגה #N/A) כי ב-A2 יש Ana עם רווח. D3 מבצע TRIM לכל עמודת החיפוש בתוך הנוסחה ומוצא 90. זה עובד ב-Microsoft 365 וב-Excel 2021; בגרסאות ישנות יותר, נקו קודם את העמודה. רווחים הם אחת הסיבות הנפוצות ביותר ל-#N/A מחיפוש.
הסרת כל הרווחים
TRIM תמיד משאירה רווח אחד בין מילים. כדי להסיר כל רווח, למשל ממספר טלפון או מקוד מוצר, החליפו את הרווח בכלום:
| A | B | C | |
|---|---|---|---|
| 1 | Code | TRIM | No spaces |
| 2 | AB 12 34 | AB 12 34 | AB1234 |
| 3 | 555 201 3344 | 555 201 3344 | 5552013344 |
| A | B | |
|---|---|---|
| 1 | Customer | Clean name |
| 2 | Eli Novak | |
| 3 | Fay Ruiz | |
| 4 | Gus 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) כדי שתוכלו לראות את התו שדף אינטרנט מדביק:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Pasted text | Length | Code of 4th character | Fixed | Fixed length |
| 2 | Ana Silva | 10 | 160 | Ana Silva | 9 |
C2 מראה איך מזהים תו מוזר: CODE(MID(A2,4,1)) מחזירה את הקוד של התו הרביעי, כאן 160. ב-D2 יש 9 תווים, ה-10 של A2 פחות הרווח שבסוף.
CLEAN: הסרת ירידות שורה ותווים נסתרים אחרים
CLEAN מסירה את התווים שאינם מודפסים עם קודים מ-0 עד 31: ירידות שורה (10), חזרות לתחילת שורה (13) וטאבים (9). היא לא נוגעת ברווחים, ולכן הצמד הרגיל הוא =TRIM(CLEAN(A2)):
| A | B | C | |
|---|---|---|---|
| 1 | Imported | CLEAN | TRIM(CLEAN) |
| 2 | Ana Silva | AnaSilva | AnaSilva |
CLEAN מוחקת את ירידת השורה לגמרי, ולכן שני השמות נדבקים ל-AnaSilva . כשירידת שורה מפרידה בין מילים, החליפו אותה ברווח במקום, =TRIM(SUBSTITUTE(A2,CHAR(10)," ")); העמוד על ירידת שורה מראה את המקרה הזה.
החלפת העמודה המקורית בטקסט אחרי TRIM
TRIM כותבת את התוצאה שלה בתא אחר. כדי לתקן את הנתונים עצמם:
- כתבו
=TRIM(A2)בעמודה ריקה ליד הנתונים ומלאו אותה למטה. - העתיקו את העמודה (Ctrl+C, או Cmd+C ב-Mac).
- בחרו את העמודה המקורית והשתמשו ב-בית > הדבק > הדבק ערכים, כדי שבתאים יהיה טקסט ולא נוסחאות.
- מחקו את עמודת העזר.
חיפוש והחלפה יכול להסיר רווחים בלי נוסחה, אבל הוא לא יודע להבדיל בין רווחים בהתחלה לבין רווחים שבין מילים: החלפה של רווח בכלום מחברת את 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?
כתבו =TRIM(A2) בעמודה פנויה ומלאו אותה למטה, העתיקו את העמודה, בחרו את העמודה המקורית והשתמשו ב-בית > הדבק > הדבק ערכים. אחר כך מחקו את עמודת העזר.