=XMATCH(E2,A2:A6) מחזירה את המיקום של E2 ב-A2:A6: 1 לתא הראשון, 2 לשני. בניגוד ל-MATCH, היא מחפשת התאמה מדויקת אלא אם אומרים לה אחרת. XMATCH דורשת Excel 2021 או Microsoft 365; בגרסאות ישנות יותר השתמשו ב-MATCH(E2,A2:A6,0).
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Look for | Position | |
| 2 | Apple | Fruit | $1.20 | Carrot | 3 | |
| 3 | Pear | Fruit | $1.50 | |||
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
Carrot הוא הפריט השלישי, ולכן F2 מציג 3. הקלידו Kiwi והיא מחזירה #N/A. כמו כל חיפוש באקסל, היא מתעלמת מגודל האותיות.
התחביר של XMATCH
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
| ארגומנט | ערכים |
|---|---|
match_mode | 0 מדויקת (ברירת מחדל), -1 מדויקת או הקטן הבא, 1 מדויקת או הגדול הבא, 2 התאמה עם תווים כלליים |
search_mode | 1 מהפריט הראשון (ברירת מחדל), -1 מהפריט האחרון, 2 חיפוש בינארי בסדר עולה, -2 חיפוש בינארי בסדר יורד |
המצבים הבינאריים מהירים יותר ברשימות ממוינות גדולות מאוד ומחזירים מיקומים שגויים ברשימות לא ממוינות. שאר המצבים עובדים על נתונים בכל סדר.
הקטן הבא או הגדול הבא, בלי מיון
match_mode 1 מוצא את הערך הקטן ביותר שגדול מערך החיפוש או שווה לו. זה עונה על "הקופסה הקטנה ביותר שמתאימה" גם כשהגדלים רשומים בלי סדר. עם MATCH הייתם צריכים רשימה שממוינת מהגדול לקטן.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Box | Holds (liters) | Item (liters) | 18 | |
| 2 | S | 5 | Position | 4 | |
| 3 | XL | 50 | Box | L | |
| 4 | M | 12 | |||
| 5 | L | 25 |
הגדלים שמכילים 18 ליטר הם 25 ו-50, והקטן מביניהם הוא 25, הפריט הרביעי, קופסה L. שנו את E1 ל-12 בשביל התאמה מדויקת (M) או ל-40 בשביל XL. match_mode -1 הוא ההפך: הערך הגדול ביותר שקטן מערך החיפוש או שווה לו, הכלל למדרגות מס ולרמות עמלה. ל-XLOOKUP יש את אותם שני מצבים והיא מחזירה את הערך ישירות.
חיפוש מהפריט האחרון
search_mode -1 מתחיל מלמטה, ולכן XMATCH מחזירה את המיקום של ההתאמה האחרונה. המיקומים עדיין נספרים מראש הטווח.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | Ben | |
| 2 | 2026-03-02 | Ben | 120 | Last position | 5 | |
| 3 | 2026-03-05 | Ana | 80 | Last date | 2026-03-20 | |
| 4 | 2026-03-09 | Ben | 45 | First position | 1 | |
| 5 | 2026-03-12 | Cara | 200 | |||
| 6 | 2026-03-20 | Ben | 60 | |||
| 7 | 2026-03-24 | Ana | 95 |
Ben מופיע במיקומים 1, 3 ו-5. החיפוש קדימה מחזיר 1 והחיפוש ההפוך מחזיר 5, ההזמנה שלו מ-2026-03-20. לפני XMATCH, המיקום האחרון דרש טריק של מערך: =MATCH(2,1/(B2:B7=F1)).
תווים כלליים דורשים match_mode 2
עם match_mode 2, * מייצג כל תווים ו-? תו אחד בדיוק. במצבים האחרים הם תווים רגילים, ואילו MATCH מתייחסת אליהם כתווים כלליים בכל פעם ש-match_type הוא 0.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Pattern | Position | |
| 2 | Green tea | *coffee | 2 | |
| 3 | Iced coffee | ?lack* | 4 | |
| 4 | Coffee beans | |||
| 5 | Black tea | |||
| 6 | Orange juice |
*coffee (כל דבר שמסתיים ב-"coffee") מתאים ל-Iced coffee במיקום 2, ו-?lack* מתאים ל-Black tea במיקום 4. Coffee beans לא מתאים ל-*coffee, כי בתבנית אין * בסוף. בלי match_mode 2 מחפשים את אותה תבנית כטקסט מילולי, ולכן באקסל זה מחזיר #N/A:
=XMATCH("*coffee", A2:A6) #N/A: no cell is literally "*coffee"
=XMATCH("*coffee", A2:A6, 2) 2
XMATCH מול MATCH
| MATCH | XMATCH | |
|---|---|---|
| ברירת מחדל כשהמצב מושמט | משוערת (1), הנתונים חייבים להיות ממוינים | מדויקת |
| הערך הקטן הבא | 1, נתונים ממוינים בסדר עולה | -1, כל סדר |
| הערך הגדול הבא | -1, נתונים ממוינים בסדר יורד | 1, כל סדר |
| תווים כלליים | תמיד פעילים עם 0 | רק עם match_mode 2 |
| התאמה אחרונה | לא | search_mode -1 |
| גרסאות | כולן | Excel 2021 ו-Microsoft 365 |
הסימנים הפוכים: ה--1 של MATCH מוצא את הגדול הבא וה--1 של XMATCH את הקטן הבא. כשממירים את MATCH(E2,A2:A6,0) ל-XMATCH, השמיטו את ה-0; כשממירים MATCH משוערת, הפכו את הסימן, וסדר המיון כבר לא משנה. העמוד של MATCH מסביר את הפונקציה הישנה יותר.
תרגול: המיקום של ההזמנה האחרונה
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | Ben | |
| 2 | 2026-03-02 | Ben | 120 | Last position | ||
| 3 | 2026-03-05 | Ana | 80 | |||
| 4 | 2026-03-09 | Ben | 45 | |||
| 5 | 2026-03-12 | Cara | 200 | |||
| 6 | 2026-03-20 | Ben | 60 | |||
| 7 | 2026-03-24 | Ana | 95 |
תורכם: ב-F2, החזירו את המיקום של ההזמנה האחרונה של הלקוח שב-F1.
שאלות נפוצות
מה ההבדל בין MATCH ל-XMATCH?
ברירת המחדל של XMATCH היא התאמה מדויקת (של MATCH היא משוערת), היא מוצאת את הערך הקטן הבא או הגדול הבא בלי צורך בנתונים ממוינים, היא יכולה לחפש מהפריט האחרון כלפי מעלה, והיא מתייחסת ל-* ול-? כתווים כלליים רק כשמבקשים זאת עם match_mode 2. היא דורשת Excel 2021 או Microsoft 365.
איך מוצאים את ההופעה האחרונה עם XMATCH?
הגדירו את search_mode, הארגומנט הרביעי, ל--1: =XMATCH("Ben",B2:B7,0,-1) מחזירה את המיקום של ה-Ben האחרון ב-B2:B7. המיקומים עדיין נספרים מראש הטווח.
מה XMATCH מחזירה אם שום דבר לא מתאים?
#N/A, כמו MATCH. עטפו אותה ב-IFNA כדי להציג משהו אחר: =IFNA(XMATCH(E2,A2:A6),"Not in list").
האם XMATCH יכולה להחליף את MATCH בתוך INDEX?
כן. =INDEX(C2:C6,XMATCH(E2,A2:A6)) עובדת כמו INDEX עם MATCH(E2,A2:A6,0), בלי 0 שאפשר לשכוח. השתמשו ב-MATCH במקום כשהקובץ צריך להיפתח ב-Excel 2019 ומטה.