30 פונקציות אקסל ב-30 ימים: חיפוש

אתמול במרתון 30 פונקציות אקסל ב-30 ימים זיהינו את סוגי השגיאות באמצעות הפונקציה ERROR.TYPE (סוג שגיאה) ודאג שהוא יכול להיות שימושי מאוד לתיקון שגיאות באקסל.

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

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

פונקציה 18: חיפוש

פונקציה לחפש (SEARCH) מחפש מחרוזת טקסט בתוך מחרוזת טקסט אחרת, ואם נמצא, מדווח על מיקומה.

כיצד אוכל להשתמש בפונקציית SEARCH?

פונקציה לחפש (SEARCH) מחפש מחרוזת טקסט בתוך מחרוזת טקסט אחרת. היא יכולה:

  • מצא מחרוזת טקסט בתוך מחרוזת טקסט אחרת (לא תלוי רישיות).
  • השתמש בתווים כלליים בחיפוש שלך.
  • קבע את מיקום ההתחלה בטקסט הנצפה.

תחביר חיפוש

פונקציה לחפש (SEARCH) יש את התחביר הבא:

SEARCH(find_text,within_text,[start_num])

ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])

  • מצא טקסט (search_text) הוא הטקסט שאתה מחפש.
  • בתוך_טקסט (text_for_search) – מחרוזת טקסט שבתוכה מתבצע החיפוש.
  • start_num (start_position) – אם לא צוין, החיפוש יתחיל מהתו הראשון.

מלכודות SEARCH (SEARCH)

פונקציה לחפש (SEARCH) יחזיר את המיקום של המחרוזת התואמת הראשונה, לא תלוי רישיות. אם אתה צריך חיפוש תלוי רישיות, אתה יכול להשתמש בפונקציה למצוא (FIND), אותו נפגוש בהמשך המרתון 30 פונקציות אקסל ב-30 ימים.

דוגמה 1: מציאת טקסט במחרוזת

השתמש בפונקציה לחפש (חיפוש) כדי למצוא טקסט בתוך מחרוזת טקסט. בדוגמה זו, נחפש תו בודד (מוקלד בתא B5) בתוך מחרוזת הטקסט שנמצאת בתא B2.

=SEARCH(B5,B2)

=ПОИСК(B5;B2)

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

במקרה שהתוצאה היא שגיאה, אתה יכול להשתמש בפונקציה טעות (IFERROR) כך שבמקום לבצע את הפונקציה לחפש (חיפוש) הצג את ההודעה המתאימה. פוּנקצִיָה טעות (IFERROR) הוצג באקסל החל מגרסה 2007. בגרסאות קודמות, ניתן היה להשיג את אותה תוצאה באמצעות IF (IF) יחד עם שגיאה (EOSHIBKA).

=IFERROR(SEARCH(B5,B2),"Not Found")

=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")

דוגמה 2: שימוש בתווים כלליים עם SEARCH

דרך נוספת לבדוק את התוצאה חזרה לחפש (חיפוש), לשגיאה - השתמש בפונקציה ISNUMBER (ISNUMBER). אם המחרוזת נמצאת, התוצאה לחפש (SEARCH) יהיה מספר, כלומר פונקציה ISNUMBER (ISNUMBER) יחזיר TRUE. אם הטקסט לא נמצא, אז לחפש (SEARCH) ידווח על שגיאה, וכן ISNUMBER (ISNUMBER) יחזיר FALSE.

בערך הטיעון מצא טקסט (search_text) אתה יכול להשתמש בתווים כלליים. סֵמֶל * (כוכבית) מחליף כל מספר של תווים או אף אחד, ו ? (סימן שאלה) מחליף כל תו בודד.

בדוגמה שלנו, נעשה שימוש בתו כללי *, כך שהביטויים CENTRAL, CENTER ו-CENTER יימצאו בשמות הרחובות.

=ISNUMBER(SEARCH($E$2,B3))

=ЕЧИСЛО(ПОИСК($E$2;B3))

דוגמה 3: קביעת מיקום ההתחלה עבור SEARCH (SEARCH)

אם נכתוב שני סימני מינוס (שלילה כפולה) לפני הפונקציה ISNUMBER (ISNUMBER), זה יחזיר את הערכים 1/0 במקום TRUE/FALSE (TRUE/FALSE). לאחר מכן, הפונקציה SUM (SUM) בתא E2 יספור את המספר הכולל של הרשומות שבהן נמצא טקסט החיפוש.

בדוגמה הבאה, עמודה B מציגה:

שם עיר | מִקצוֹעַ

המשימה שלנו היא למצוא מקצועות המכילים את מחרוזת הטקסט שהוזנה בתא E1. הנוסחה בתא C2 תהיה:

=--ISNUMBER(SEARCH($E$1,B2))

=--ЕЧИСЛО(ПОИСК($E$1;B2))

נוסחה זו מצאה שורות המכילות את המילה "בנק", אך באחת מהן המילה הזו נמצאת לא בשם המקצוע, אלא בשם העיר. זה לא מתאים לנו!

כל שם עיר מלווה בסמל | (סרגל אנכי), אז אנחנו, באמצעות הפונקציה לחפש (חיפוש), נוכל למצוא את המיקום של הדמות הזו. ניתן לציין את מיקומו כערך הארגומנט start_num (start_position) בפונקציה "ראשית". לחפש (לחפש). כתוצאה מכך, החיפוש יתעלם משמות ערים.

כעת הנוסחה שנבדקה ומתוקנת תספור רק את השורות המכילות את המילה "בנק" בשם המקצוע:

=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))

=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))

השאירו תגובה