לְהִצטַיֵן

רצו תווים מספריים מהתא

Strip Numeric Characters From Cell

נוסחת Excel: הסר תווים מספריים מהתאנוסחה כללית | _+_ | סיכום

כדי להסיר תווים מספריים ממחרוזת טקסט, תוכל להשתמש בנוסחה המבוססת על פונקציית TEXTJOIN . בדוגמה המוצגת, הנוסחה ב- C5 היא:



{= TEXTJOIN ('',TRUE, IF ( ISERR ( MID (A1, ROW ( INDIRECT ('1:100')),1)+0), MID (A1, ROW ( INDIRECT ('1:100')),1),''))}

הערה: זהו נוסחת מערך ויש להזין אותו עם שליטה + shift + enter, למעט ב- Excel 365 .

הֶסבֵּר

ל- Excel אין דרך להעביר את האותיות במחרוזת טקסט ל- מַעֲרָך ישירות בנוסחה. כפתרון, נוסחה זו משתמשת בפונקציית MID, בעזרת הפונקציות ROW ו- INDIRECT כדי להשיג את אותה התוצאה. הנוסחה ב- C5, שהועתקה למטה, היא:





 
= TEXTJOIN ('',TRUE, IF ( ISERR ( MID (B5, ROW ( INDIRECT ('1:100')),1)+0), MID (B5, ROW ( INDIRECT ('1:100')),1),''))

זה נראה די מסובך אבל העיקר הוא שאנחנו יוצרים מַעֲרָך של כל התווים ב- B5, ובדוק כל תו כדי לראות אם מדובר במספר. אם כן, אנו זורקים את הערך ומחליפים אותו ב- מחרוזת ריקה (''). אם לא, נוסיף את התו הלא-מספרי למערך 'מעובד'. לבסוף, אנו משתמשים בפונקציה TEXTJOIN (חדשה ב- Excel 2019) כדי לחבר את כל התווים יחד, תוך התעלמות מערכים ריקים.

הצב גבול עליון ותחתון על התאים שנבחרו

עובדים מבפנים החוצה, ה פונקציית MID משמש לחילוץ הטקסט ב- B5, תו אחד בכל פעם.המפתח הוא ה שׁוּרָה ו עקיף קטע כאן:



 
= TEXTJOIN ('',TRUE, IF ( ISERR ( MID (B5, ROW ( INDIRECT ('1:100')),1)+0), MID (B5, ROW ( INDIRECT ('1:100')),1),''))

שמסובב מערך המכיל 100 מספרים כך:

{1,2,3,4,5,6,7,8 .... 99,100}

הערה: 100 מייצג את התווים המרביים לעיבוד. שנה בהתאם לנתונים שלך, או השתמש בפונקציית LEN כפי שמוסבר להלן.

מערך זה נכנס לפונקציית MID כ- start_num טַעֲנָה. ל num_chars , אנו משתמשים ב 1.

להצטיין בערכי התאמה בשתי עמודות

הפונקציה MID מחזירה מערך כזה:

 
 ROW ( INDIRECT ('1:100'))

הערה: פריטים נוספים במערך הוסרו לצורך קריאה.

למערך זה, אנו מוסיפים אפס. זהו טריק פשוט שמאלץ את Excel לכפות טקסט למספר. ערכי טקסט מספריים כמו '1', '2', '3', '4' וכו 'מומרים ללא שגיאות, אך ערכים שאינם מספריים ייכשלו ויגרמו לשגיאת #VALUE. אנו משתמשים ב- פונקציית IF עם ה פונקציית ISERR לתפוס את השגיאות האלה. כאשר אנו רואים שגיאה, אנו יודעים שיש לנו תו לא מספרי, ולכן אנו מביאים את התו הזה לעיבוד מַעֲרָך עם פונקציית MID נוספת:

 
{'3''4''6''5''3'' ''J''i''m'' ''M''c''D''o''n''a''l''d'''''''...}

אם אל תעשה זאת לקבל שגיאה, אנו יודעים שיש לנו מספר, לכן אנו מכניסים מחרוזת ריקה ('') למערך במקום המספר.

תוצאת המערך הסופי נכנסת לפונקציה TEXTJOIN כ- טקסט 1 טַעֲנָה. ל תוחם , אנו משתמשים במחרוזת ריקה ('') ול- להתעלם אנו מספקים TRUE. TEXTJOIN אז מתחבר כל הערכים הלא ריקים במערך ומחזירים את התוצאה.

אורך מערך מדויק

במקום לקודד מספר כמו 100 ל- INDIRECT, תוכל להשתמש ב- פונקציית LEN כדי לבנות מערך עם מספר התווים בפועל בתא כך:

 
 MID (B5, ROW ( INDIRECT ('1:100')),1)

LEN מחזירה את ספירת התווים בתא כמספר, המשמש במקום 100. הדבר מאפשר לנוסחה להתרחב באופן אוטומטי לכל מספר תווים.

הסרת שטח נוסף

כשאתה מפשיט תווים מספריים, ייתכן ויישארו לך תווי רווח נוספים. כדי להפשיט רווחים מובילים ונגררים ולנרמל רווחים בין מילים, תוכל לעטוף את הנוסחה המוצגת בדף זה בתוך פונקציית TRIM :

כיצד להכניס ירידה למטה ב- Excel
 
 MID (A1, ROW ( INDIRECT ('1:'& LEN (A1))),1)

עם רצף

ב Excel 365 , החדש פונקציית SEQUENCE יכול להחליף את הקוד ROW + INDIRECT למעלה:

 
= TRIM (formula)

כאן אנו משתמשים ב- SEQUENCE + LEN כדי לבנות מערך באורך הנכון בשלב אחד.

עם LET

אנו יכולים לייעל נוסחה זו עוד יותר באמצעות פונקציית LET . מכיוון שהמערך נוצר פעמיים למעלה עם SEQUENCE ו- LEN, אנו יכולים להגדיר מערך כמשתנה, וליצור אותו רק פעם אחת:

 
= TEXTJOIN ('',TRUE, IF ( ISERR ( MID (B5, SEQUENCE ( LEN (B5)),1)+0), MID (B5, SEQUENCE ( LEN (B5)),1),''))

כאן ערך של מַעֲרָך מוגדר פעם אחת בלבד, ולאחר מכן נעשה שימוש פעמיים בתוך פונקציית MID.

הסופר דייב בראנס


^