כאשר אתה מעתיק או מייבא נתוני טקסט לגיליון עבודה של Excel, הגיליון האלקטרוני שומר מדי פעם רווחים נוספים בנוסף לתוכן שהוספת. בדרך כלל, הפונקציה TRIM() בפני עצמה יכולה להסיר את הרווחים הלא רצויים הללו בין אם הם מתרחשים בין מילים או בתחילת או בסוף מחרוזת טקסט. עם זאת, במצבים מסוימים, TRIM() לא יכול לעשות את העבודה.
במחשב, רווח בין מילים אינו אזור ריק אלא תו - ויש יותר מסוג אחד של תו רווח. תו רווח אחד הנפוץ בדפי אינטרנט ש-TRIM() לא יסיר הוא הרווח הבלתי נשבר.
אם ייבאת או העתקת נתונים מדפי אינטרנט, ייתכן שלא תוכל להסיר את הרווחים הנוספים עם הפונקציה TRIM() אם הם נוצרו על-ידי רווחים לא שוברים.
חללים לא שוברים ורגילים
רווחים הם תווים ולכל תו יש התייחסות לפי ערך קוד ה-ASCII שלו. ASCII מייצג את American Standard Code for Information Interchange - תקן בינלאומי לתווי טקסט בסביבות הפעלה של מחשב, היוצר קבוצה אחת של קודים עבור 255 תווים וסמלים שונים המשמשים בתוכנות מחשב.
קוד ה-ASCII עבור רווח לא שבור הוא 160. קוד ASCII לרווח רגיל הוא 32.
הפונקציה TRIM() יכולה להסיר רק רווחים בעלי קוד ASCII של 32.
סגנונות סוגים שונים תומכים בטווחים שונים של קודי ASCII. הטבלה הסטנדרטית מציעה 127 ערכים אפשריים; גופנים חייבים לתמוך מינימלית במפת ASCII של 127 תווים כדי להיחשב תקפים. אבל תווי ASCII "מורחבים", הנקראים עם קודים נוספים, מוסיפים לעתים קרובות תווים נוספים לגופנים המועדפים עליך.למעשה, הרווח הבלתי נשבר הוא, בעצמו, תו ASCII מורחב, בעוד שרווח סטנדרטי הוא … ובכן, סטנדרטי.
הסרת רווחים לא שוברים
הסר רווחים לא שוברים משורת טקסט באמצעות הפונקציות TRIM(), SUBSTITUTE() ו-CHAR().
מכיוון שהפונקציות SUBSTITUTE() ו-CHAR() מקוננות בתוך הפונקציה TRIM(), יש להקליד את הנוסחה בגליון העבודה במקום להשתמש בתיבות הדו-שיח של הפונקציות כדי להזין את הארגומנטים.
הנוסחה, בהנחה שהנתונים עם הרווחים הבלתי פורצים נמצאים בתא A1, היא:
איך הנוסחה עובדת
כל פונקציה מקוננת מבצעת משימה ספציפית:
- פונקציית CHAR קובעת את קודי ASCII הרלוונטיים עבור שני הרווחים השונים בנוסחה - 160 ו-32
- הפונקציה SUBSTITUTE מחליפה או מחליפה את כל הרווחים הבלתי מפסיקים בין המילים ברווחים רגילים
- פונקציית TRIM מסירה את הרווחים הרגילים הנוספים בין מילים כך שהמשפט יופיע כרגיל בגליון העבודה
בהינתן הלוגיקה של סדר הפעולות של נוסחאות אקסל, הנוסחה קוראת לפונקציה SUBSTITUTE() ואומרת לה להחליף כל מופע של CHAR(160) - הרווח הבלתי שובר - ברווח סטנדרטי, CHAR (32), הכלול בתוך תא A1. לאחר מכן, הפונקציה TRIM() מסירה את הרווחים הסטנדרטיים מהמחרוזת המוחלפת.
שיקולים
אם TRIM() לא יכול לבצע את העבודה, עלולות להיות לך בעיות מלבד רווחים לא שוברים, במיוחד אם אתה עובד עם חומר מקור מקורי המעובד ב-HTML. כאשר אתה מדביק את החומר ב-Excel, הדבק אותו כטקסט רגיל כדי להסיר עיצוב רקע מהמחרוזת ולהסיר עיצוב מיוחד כמו תווים שמעובדים כלבן-על-לבן - שנראה כמו רווח, אבל לא. בדוק גם אם יש כרטיסיות משובצות, שניתן להחליף אותן באמצעות אותה נוסחה כמו לעיל, אך החלפת קוד ASCII 160 ב-9.
SUBSTITUTE() שימושי להחלפת כל קוד ASCII בכל קוד אחר.