=SEARCH("apple",A2) מחזירה את המיקום שבו apple מתחיל ב-A2, כשסופרים מ-1, ומתעלמת מאותיות גדולות וקטנות. =FIND("apple",A2) עושה את אותו הדבר אבל מתאימה רק לאותו גודל אותיות בדיוק. כשהטקסט לא נמצא, שתיהן מחזירות #VALUE!.
| A | B | C | |
|---|---|---|---|
| 1 | Text | FIND("apple") | SEARCH("apple") |
| 2 | Apple pie | #VALUE! | 1 |
| 3 | Green apple | 7 | 7 |
| 4 | Banana 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:
| A | B | C | |
|---|---|---|---|
| 1 | Note | Contains "late" | Status |
| 2 | Arrived late | TRUE | Check |
| 3 | On time | FALSE | OK |
| 4 | LATE by 2 days | TRUE | Check |
| 5 | Delivered | FALSE | OK |
SEARCH מתאימה ל-LATE ב-A4 כי היא מתעלמת מגודל האותיות. שימו לב שהיא הייתה מתאימה גם ל-latest או ל-chocolate: SEARCH מחפשת תווים, לא מילים שלמות. חיפוש של " late" עם רווח בהתחלה מצמצם את זה קצת. כדי לספור כמה תאים מכילים מילה, =COUNTIF(A2:A5,"*late*") קצרה יותר; ראו ספירת תאים עם טקסט.
| A | B | |
|---|---|---|
| 1 | Subject | Urgent? |
| 2 | URGENT: server down | |
| 3 | Monthly report | |
| 4 | Refund request, urgent |
תורכם: ב-B2, החזירו TRUE אם הנושא שב-A2 מכיל את המילה urgent בכל גודל אותיות, ו-FALSE אם לא. הנוסחה ממולאת למטה עד B4.
מציאת המופע השני
start_num מאפשר להתחיל לחפש אחרי ההתאמה הראשונה. שימו FIND אחת בתוך אחרת: הפנימית מוצאת את המקף הראשון, והחיצונית מתחילה תו אחד אחריו.
| A | B | C | |
|---|---|---|---|
| 1 | Code | First dash | Second dash |
| 2 | NYC-2041-B | 4 | 9 |
| 3 | BOSTON-15-AA | 7 | 10 |
עם שני המיקומים, MID יכולה לקחת את מה שבין המקפים: =MID(A2,B2+1,C2-B2-1) מחזירה 2041.
| A | B | |
|---|---|---|
| 1 | Position | |
| 2 | ana@coddy.tech |
תורכם: ב-B2, החזירו את המיקום של ה-@ בכתובת האימייל.
FIND ו-SEARCH מחזירות #VALUE!
כאן #VALUE! פירושו רק "לא נמצא". החליפו אותו במשהו שימושי:
| A | B | |
|---|---|---|
| 1 | Position of @ | |
| 2 | ana@coddy.tech | 4 |
| 3 | not an email | 0 |
אל תשוו את התוצאה הגולמית למספר, כמו ב-=FIND("@",A2)>0: פספוס הוא שגיאה, וההשוואה מחזירה #VALUE! במקום FALSE. בדקו אותה עם ISNUMBER, כמו בסעיף שלמעלה.
תווים כלליים: רק SEARCH
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
| FIND | SEARCH | Ctrl+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). הארגומנט השלישי הוא המיקום שממנו מתחילים.