פורום שאלות ותשובות

ברוכים הבאים לפורום שאלות ותשובות באופיס

ניתן לשאול שאלות טכניות באקסל, וורד, פאורפוינט, אוטלוק, שיירפוינט ושאר יישומי אופיס ללא צורך להירשם וללא עלות

א' שואל:

אני רוצה לחלץ נתון של תקופה משדה הכולל אותיות ומספרים(זו התקופה) בלי חוקיות
(למשל בלי רווח בין המלל לתקופה, כך שאי אפשר להשתמש בטקסט לעמודות, ולא בסוף או תחילת המשפט).
לדוגמא:"כיחלנע3.23עיחל" או "יעוחל 1-5.23 עכיי". ואני צריך את התקופה: 3.23 או 1-5.23. תודה רבה
 
תשובה:
 
ניתן לבצע זאת על ידי שימוש בנוסחת מערך באקסל Array Formula והפונקציות TextJoin, IsNumber, Find, Mid.
 
מצ"ב דוגמה:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
בתא B4 נגדיר את הנוסחה הבאה כנוסחת מערך על ידי הקלדה של הנוסחה ולחיצה על Ctrl+Shift+Enter כך שיופיעו סוגריים מסולסלים בתחילת וסוף הנוסחה.
 
TEXTJOIN("",,IF(ISNUMBER(FIND(MID(A4,ROW($1:$100),1),"0123456789,.-")),MID(A4,ROW($1:$100),1),""))=
 
הסבר לנוסחה -
ROW($1:$100) - יוצר מערך בגודל 100 (אם נדרש לטפל בקלט ארוך מ-100 תווים יש לעדכן את הערך 100 בהתאם.
MID(A4,ROW($1:$100),1) - הפונקציה מחלצת תו אחד בכל פעם מהטקסט בתא A4 ושומרת אותו במערך לטובת עיבוד בהמשך.
FIND(...,"0123456789,.-") - הפונקציה מחפשת כל תו מהטקסט ברשימת התווים החוקיים 0123456789,.- ואם התו נמצא היא מחזירה את המיקום שלו.
ISNUMBER - הפונקציה בודקת את התוצאה שהוחזרה על ידי FIND היא מספר או לא.
IF(ISNUMBER(FIND(...)),MID(A4,ROW($1:$100),1),"") - בחלק הזה נבדק כל תו בקלט. רק אם התו הוא מספר, נקודה, מקף או פסיק אז הוא נכלל בתוצאה.
TEXTJOIN - הפונקציה מחברת את התווים שנמצאו ונשמרו במערך למחרוזת טקסט אחת ללא הפרדה בין התווים.
 
נעתיק את הנוסחה לתא B5.
 
התוצאה - בתאים B4 ו-B5 תוצג התקופה המבוקשת.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
בברכה,
צוות אניפיט