Menu

FIND ו-SEARCH באקסל: איתור טקסט בתוך תא

=SEARCH("apple",A2) מחזירה את המיקום שבו apple מתחיל ב-A2, בלי תלות בגודל האותיות. FIND עושה את אותו הדבר אבל רגישה לגודל האותיות. שתיהן מחזירות #VALUE! כשהטקסט חסר, ו-ISNUMBER הופכת את זה לבדיקת "אם התא מכיל".

כל גיליון בעמוד הזה חי: שנו מספר או נוסחה והוא יחושב מחדש.

=SEARCH("apple",A2) מחזירה את המיקום שבו apple מתחיל ב-A2, כשסופרים מ-1, ומתעלמת מאותיות גדולות וקטנות. =FIND("apple",A2) עושה את אותו הדבר אבל מתאימה רק לאותו גודל אותיות בדיוק. כשהטקסט לא נמצא, שתיהן מחזירות #VALUE!.

FIND רגישה לגודל אותיות, SEARCH לא
B2
ABC
1TextFIND("apple")SEARCH("apple")
2Apple pie#VALUE!1
3Green apple77
4Banana bread#VALUE!#VALUE!
#VALUE! לאחד הארגומנטים יש סוג שגוי, למשל טקסט במקום מספר.

Apple pie מתחיל ב-A גדולה, ולכן FIND לא מוצאת התאמה ומחזירה #VALUE!, בעוד ש-SEARCH מחזירה 1. ב-Green apple שתיהן מחזירות 7: הרווח נספר כתו. ב-Banana bread אין apple בכלל.

תחביר

=FIND(find_text, within_text, [start_num])
=SEARCH(find_text, within_text, [start_num])
  • find_text: מה מחפשים. תו אחד או מילה.
  • within_text: התא שבו מחפשים.
  • start_num: המיקום שממנו מתחילים, 1 אם משמיטים אותו. התוצאה עדיין נספרת מהתו הראשון של התא.

אם התא מכיל טקסט

המיקום עצמו הוא לעתים רחוקות מה שרוצים. בדרך כלל השאלה היא "האם התא הזה מכיל את המילה?". מיקום הוא מספר ופספוס הוא שגיאה, ולכן ISNUMBER הופכת את התוצאה ל-TRUE או FALSE:

האם ההערה מזכירה עיכוב?
B2
ABC
1NoteContains "late"Status
2Arrived lateTRUECheck
3On timeFALSEOK
4LATE by 2 daysTRUECheck
5DeliveredFALSEOK
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

SEARCH מתאימה ל-LATE ב-A4 כי היא מתעלמת מגודל האותיות. שימו לב שהיא הייתה מתאימה גם ל-latest או ל-chocolate: SEARCH מחפשת תווים, לא מילים שלמות. חיפוש של " late" עם רווח בהתחלה מצמצם את זה קצת. כדי לספור כמה תאים מכילים מילה, =COUNTIF(A2:A5,"*late*") קצרה יותר; ראו ספירת תאים עם טקסט.

סימון קריאות דחופות
B2
AB
1SubjectUrgent?
2URGENT: server down
3Monthly report
4Refund request, urgent
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

תורכם: ב-B2, החזירו TRUE אם הנושא שב-A2 מכיל את המילה urgent בכל גודל אותיות, ו-FALSE אם לא. הנוסחה ממולאת למטה עד B4.

מציאת המופע השני

start_num מאפשר להתחיל לחפש אחרי ההתאמה הראשונה. שימו FIND אחת בתוך אחרת: הפנימית מוצאת את המקף הראשון, והחיצונית מתחילה תו אחד אחריו.

המיקום של המקף הראשון והשני
C2
ABC
1CodeFirst dashSecond dash
2NYC-2041-B49
3BOSTON-15-AA710
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

עם שני המיקומים, MID יכולה לקחת את מה שבין המקפים: =MID(A2,B2+1,C2-B2-1) מחזירה 2041.

איפה ה-@?
B2
AB
1EmailPosition
2ana@coddy.tech
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

תורכם: ב-B2, החזירו את המיקום של ה-@ בכתובת האימייל.

FIND ו-SEARCH מחזירות #VALUE!

כאן #VALUE! פירושו רק "לא נמצא". החליפו אותו במשהו שימושי:

לא נמצא, בלי השגיאה
B2
AB
1EmailPosition of @
2ana@coddy.tech4
3not an email0
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

אל תשוו את התוצאה הגולמית למספר, כמו ב-=FIND("@",A2)>0: פספוס הוא שגיאה, וההשוואה מחזירה #VALUE! במקום FALSE. בדקו אותה עם ISNUMBER, כמו בסעיף שלמעלה.

SEARCH מקבלת את התווים הכלליים ? (תו אחד כלשהו) ו-* (רצף תווים כלשהו). FIND מתייחסת אליהם כתווים רגילים. באקסל:

=SEARCH("b?d","a bad day")     returns 3
=SEARCH("2*B","NYC-2041-B")    returns 5
=SEARCH("~?","Why?")           returns 4, the tilde means a real question mark
=FIND("?","Why?")              returns 4, FIND has no wildcards

עוד על *, ? ו-~ בפונקציות של אקסל נמצא בעמוד על תווים כלליים.

FIND מול SEARCH מול Ctrl+F

FINDSEARCHCtrl+F
גודל אותיותחייב להתאיםלא משנהלא משנה, אלא אם מסמנים "התאם רישיות" (Match case)
תווים כללייםלא?, *, ~?, *, ~
לא נמצא#VALUE!#VALUE!הודעה
תוצאהמיקום, מחושב מחדשמיקום, מחושב מחדשבוחר את התא

כדי למצוא ערך פעם אחת, בית > חפש ובחר > חפש (Ctrl+F, או Cmd+F ב-Mac) מהיר יותר מנוסחה. כדי לסמן או לחלץ בכל שורה, ולשמור את זה מעודכן, השתמשו ב-FIND או ב-SEARCH. בחרו ב-FIND כשלגודל האותיות יש משמעות (קודי מוצר כמו ab ו-AB), וב-SEARCH לכל מה שאנשים מקלידים.

שאלות נפוצות

מה ההבדל בין FIND ל-SEARCH באקסל?

FIND רגישה לגודל האותיות ולא מקבלת תווים כלליים. SEARCH מתעלמת מגודל האותיות ומקבלת ? ו-*. =FIND("a","Apple") היא #VALUE!, בעוד ש-=SEARCH("a","Apple") היא 1.

איך מחלצים את הטקסט שבין שני מקפים באקסל?

מצאו את שני המקפים וקחו את מה שביניהם עם MID: =MID(A2,FIND("-",A2)+1,FIND("-",A2,FIND("-",A2)+1)-FIND("-",A2)-1) מחזירה 2041 מתוך NYC-2041-B. ב-Microsoft 365, =TEXTBEFORE(TEXTAFTER(A2,"-"),"-") קצרה יותר.

למה FIND מחזירה #VALUE!?

הטקסט לא נמצא בתא, או שהוא שם עם אותיות גדולות אחרות (FIND רגישה לגודל האותיות). עטפו אותה כדי להחזיר משהו אחר: =IFERROR(FIND("-",A2),0).

איך מוצאים את המופע השני של תו?

התחילו את החיפוש תו אחד אחרי ההתאמה הראשונה: =FIND("-",A2,FIND("-",A2)+1). הארגומנט השלישי הוא המיקום שממנו מתחילים.

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל