Menu

XMATCH באקסל: חיפוש מיקום, התאמה אחרונה, הגדול הבא

=XMATCH(E2,A2:A6) מחזירה את המיקום של E2 ב-A2:A6, עם התאמה מדויקת כברירת מחדל. היא יכולה גם למצוא את הערך הקטן הבא או הגדול הבא בלי מיון, לחפש מלמטה ולהשתמש בתווים כלליים.

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

=XMATCH(E2,A2:A6) מחזירה את המיקום של E2 ב-A2:A6: 1 לתא הראשון, 2 לשני. בניגוד ל-MATCH, היא מחפשת התאמה מדויקת אלא אם אומרים לה אחרת. XMATCH דורשת Excel 2021 או Microsoft 365; בגרסאות ישנות יותר השתמשו ב-MATCH(E2,A2:A6,0).

המיקום של מוצר
F2
ABCDEF
1ProductCategoryPriceLook forPosition
2AppleFruit$1.20Carrot3
3PearFruit$1.50
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

Carrot הוא הפריט השלישי, ולכן F2 מציג 3. הקלידו Kiwi והיא מחזירה #N/A. כמו כל חיפוש באקסל, היא מתעלמת מגודל האותיות.

התחביר של XMATCH

=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
ארגומנטערכים
match_mode0 מדויקת (ברירת מחדל), -1 מדויקת או הקטן הבא, 1 מדויקת או הגדול הבא, 2 התאמה עם תווים כלליים
search_mode1 מהפריט הראשון (ברירת מחדל), -1 מהפריט האחרון, 2 חיפוש בינארי בסדר עולה, -2 חיפוש בינארי בסדר יורד

המצבים הבינאריים מהירים יותר ברשימות ממוינות גדולות מאוד ומחזירים מיקומים שגויים ברשימות לא ממוינות. שאר המצבים עובדים על נתונים בכל סדר.

הקטן הבא או הגדול הבא, בלי מיון

match_mode 1 מוצא את הערך הקטן ביותר שגדול מערך החיפוש או שווה לו. זה עונה על "הקופסה הקטנה ביותר שמתאימה" גם כשהגדלים רשומים בלי סדר. עם MATCH הייתם צריכים רשימה שממוינת מהגדול לקטן.

הקופסה הקטנה ביותר שמכילה את הפריט
E2
ABCDE
1BoxHolds (liters)Item (liters)18
2S5Position4
3XL50BoxL
4M12
5L25
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

הגדלים שמכילים 18 ליטר הם 25 ו-50, והקטן מביניהם הוא 25, הפריט הרביעי, קופסה L. שנו את E1 ל-12 בשביל התאמה מדויקת (M) או ל-40 בשביל XL. match_mode -1 הוא ההפך: הערך הגדול ביותר שקטן מערך החיפוש או שווה לו, הכלל למדרגות מס ולרמות עמלה. ל-XLOOKUP יש את אותם שני מצבים והיא מחזירה את הערך ישירות.

חיפוש מהפריט האחרון

search_mode -1 מתחיל מלמטה, ולכן XMATCH מחזירה את המיקום של ההתאמה האחרונה. המיקומים עדיין נספרים מראש הטווח.

ההזמנה האחרונה של לקוח
F2
ABCDEF
1DateCustomerAmountCustomerBen
22026-03-02Ben120Last position5
32026-03-05Ana80Last date2026-03-20
42026-03-09Ben45First position1
52026-03-12Cara200
62026-03-20Ben60
72026-03-24Ana95
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

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.

חיפוש לפי תבנית
D2
ABCD
1ProductPatternPosition
2Green tea*coffee2
3Iced coffee?lack*4
4Coffee beans
5Black tea
6Orange 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

MATCHXMATCH
ברירת מחדל כשהמצב מושמטמשוערת (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 מסביר את הפונקציה הישנה יותר.

תרגול: המיקום של ההזמנה האחרונה

הזמנות
F2
ABCDEF
1DateCustomerAmountCustomerBen
22026-03-02Ben120Last position
32026-03-05Ana80
42026-03-09Ben45
52026-03-12Cara200
62026-03-20Ben60
72026-03-24Ana95
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

תורכם: ב-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 ומטה.

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

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

להתחיל