לאקסל יש שלושה תווים כלליים לקריטריונים ולחיפושים: * מתאים לכל מספר של תווים (כולל אפס), ? מתאים לתו אחד בדיוק, ו-~ הופך את ה-* או ה-? שאחריו בחזרה לתו רגיל. =COUNTIF(A2:A7,"*apple*") סופרת את התאים שמכילים apple במקום כלשהו.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Pattern | Count | |
| 2 | Apple juice | *apple* | 4 | |
| 3 | Green apple | apple* | 2 | |
| 4 | Pineapple | *juice | 2 | |
| 5 | Orange juice | ????? | 0 | |
| 6 | Pear | *e | 4 | |
| 7 | Apples |
*apple*מכילapple: 4 התאמות, כי גםPineappleנספר.apple*מתחיל ב-apple: רקApple juiceו-Apples. COUNTIF מתעלמת מגודל האותיות.*juiceמסתיים ב-juice.?????הוא באורך חמישה תווים בדיוק. לאף אחד מהמוצרים האלה אין חמישה תווים, ולכן 0; הקלידוPeachב-A6 והוא נספר 1.*eמסתיים ב-e.
הקלידו תבנית משלכם בעמודה C, כמו *an* או P*, והספירה מתעדכנת.
התאמה חלקית ב-VLOOKUP וב-XLOOKUP
VLOOKUP מקבלת תווים כלליים במצב התאמה מדויקת (FALSE כארגומנט האחרון). חברו את התו הכללי לערך בתוך הנוסחה, כך שב-D2 נכנסות רק האותיות הראשונות:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Price | Starts with | Price | |
| 2 | Apple juice | 3.5 | Pin | 4 | |
| 3 | Green apple | 1.2 | 4 | ||
| 4 | Pineapple | 4 | |||
| 5 | Orange juice | 3.2 | |||
| 6 | Pear | 0.9 |
שתי הנוסחאות מוצאות את Pineapple. שנו את D2 ל-juice: התבנית של VLOOKUP, juice*, דורשת שהטקסט יתחיל ב-juice ומחזירה #N/A, בעוד שהתבנית של XLOOKUP, *juice*, מוצאת את המוצר הראשון שמכיל אותו, Apple juice. כמו כל התאמה מדויקת, חיפוש עם תו כללי מחזיר את השורה הראשונה שמתאימה, אז כתבו תבנית מספיק מדויקת.
XLOOKUP מתייחסת ל-* ול-? כתווים כלליים רק כשהארגומנט החמישי שלה, match_mode, הוא 2. בלעדיו, היא מחפשת את הכוכבית כפשוטה. MATCH מקבלת תווים כלליים עם match_type 0, ו-XMATCH עם match_mode 2, בדיוק כמו XLOOKUP. ב-VLOOKUP יש את שאר הארגומנטים שלה.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Phone products | ||
| 2 | Smartphone | |||
| 3 | Headphones | |||
| 4 | Phone stand | |||
| 5 | Laptop bag | |||
| 6 | Charger |
תורכם: ב-D2, ספרו את המוצרים שהשם שלהם מכיל phone במקום כלשהו.
סכום וממוצע עם תו כללי
כל פונקציה שמקבלת קריטריונים קוראת אותם באותה דרך, ולכן אותן תבניות עובדות ב-SUMIF, SUMIFS, AVERAGEIF, AVERAGEIFS, MAXIFS ו-MINIFS:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Region | Sales | Pattern | Total | |
| 2 | North-East | 120 | North* | 285 | |
| 3 | North-West | 95 | *West | 155 | |
| 4 | South | 80 | ????? | 150 | |
| 5 | South-West | 60 | |||
| 6 | East | 110 | |||
| 7 | North | 70 |
North* מסכמת כל אזור שמתחיל ב-North, כולל North עצמו, כי * מתאים גם לכלום. ????? מסכמת את האזורים שיש להם חמישה תווים בדיוק: South ו-North.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Region | Sales | West total | ||
| 2 | North-East | 120 | |||
| 3 | North-West | 95 | |||
| 4 | South | 80 | |||
| 5 | South-West | 60 | |||
| 6 | East | 110 | |||
| 7 | North | 70 |
תורכם: ב-E2, סכמו את המכירות של כל אזור שהשם שלו מסתיים ב-West.
מציאת כוכבית או סימן שאלה אמיתיים עם ~
כדי לספור טקסט שמכיל * או ? אמיתיים, שימו טילדה לפניהם. הטילדה עצמה נכתבת ~~.
| A | B | C | |
|---|---|---|---|
| 1 | Note | Count | |
| 2 | Rated 5* | 1 | |
| 3 | Why? | 1 | |
| 4 | Done | 4 | |
| 5 | 5 stars |
C2 סופר את התאים שמכילים כוכבית כפשוטה (רק A2), ו-C3 את אלה שמכילים סימן שאלה. C4 מראה את הצד השני: "*" לבד מתאים לכל טקסט, ולכן הוא סופר כל תא טקסט, כאן 4. הוא מדלג על מספרים ועל תאים ריקים, ולכן COUNTIF(range,"*") היא הדרך הרגילה לספור תאי טקסט.
אילו פונקציות מקבלות תווים כלליים
מקבלות *, ?, ~ | לא מקבלות |
|---|---|
| COUNTIF, COUNTIFS, SUMIF, SUMIFS, AVERAGEIF, AVERAGEIFS, MAXIFS, MINIFS | =, <> והשוואות אחרות |
| VLOOKUP ו-HLOOKUP עם FALSE | IF לבדה |
| MATCH עם 0 | FIND |
| XLOOKUP ו-XMATCH עם match_mode 2 | FILTER, UNIQUE, SORT |
| SEARCH | SUBSTITUTE, TEXTBEFORE, TEXTAFTER |
| חיפוש והחלפה (Ctrl+H), תיבות סינון |
SEARCH מקבלת תווים כלליים בתוך נוסחה: =SEARCH("b?d","a bad day") מחזירה 3 באקסל (ב-FIND ו-SEARCH יש את הפרטים). ב-FILTER, השתמשו ב-ISNUMBER(SEARCH(...)) כתנאי במקום בתבנית.
טעות נפוצה: תו כללי אחרי =
האופרטור = אף פעם לא קורא תווים כלליים: =A2="*apple*" שואלת אם ב-A2 יש את שבעת התווים *apple*. באקסל, כשב-A2 יש Green apple:
=A2="*apple*" FALSE
=IF(A2="*apple*","yes","no") no
שימו את הבדיקה ב-COUNTIF במקום, שמחזירה 1 או 0 לתא בודד, או השתמשו ב-SEARCH:
| A | B | C | |
|---|---|---|---|
| 1 | Product | COUNTIF test | SEARCH test |
| 2 | Green apple | contains apple | contains apple |
| 3 | Pear | no | no |
IF מתייחסת ל-1 מ-COUNTIF כ-TRUE ול-0 כ-FALSE. הגרסה עם SEARCH לא צריכה תווים כלליים בכלל, כי SEARCH כבר מחפשת את הטקסט בכל מקום בתא.
שאלות נפוצות
מה הם התווים הכלליים באקסל?
* מתאים לכל מספר של תווים, כולל אפס; ? מתאים לתו אחד בדיוק; ~ לפני *, ? או ~ הופך אותו לתו רגיל. "*apple*" פירושו מכיל apple, "A*" מתחיל ב-A, "???" בדיוק שלושה תווים.
איך משתמשים בתו כללי ב-VLOOKUP?
חברו את התו הכללי לערך החיפוש והשתמשו בהתאמה מדויקת: =VLOOKUP(E2&"*",A2:B6,2,FALSE) מוצאת את הרשומה הראשונה שמתחילה ב-E2. ב-XLOOKUP, הגדירו את match_mode ל-2: =XLOOKUP("*"&E2&"*",A2:A6,B2:B6,"none",2).
למה תו כללי לא עובד בנוסחת IF שלי?
ההשוואה = לא מבינה תווים כלליים, ולכן =IF(A2="*apple*",...) מתאימה רק לטקסט *apple* כפשוטו. השתמשו ב-=IF(COUNTIF(A2,"*apple*"),"Yes","No") או ב-=IF(ISNUMBER(SEARCH("apple",A2)),"Yes","No").
איך סופרים תאים שמכילים כוכבית?
שימו טילדה לפניה: =COUNTIF(A2:A10,"*~**"). ה-* הראשונה והאחרונה הן תווים כלליים, ו-~* היא כוכבית כפשוטה.