Menu

חיפוש עם כמה קריטריונים באקסל: XLOOKUP ו-INDEX MATCH

=XLOOKUP(1,(A2:A7=E2)*(B2:B7=F2),C2:C7) מחזירה את הערך מהשורה שבה עמודה A מתאימה ל-E2 ועמודה B מתאימה ל-F2. גרסת INDEX MATCH, עמודת עזר ל-VLOOKUP, ו-FILTER לכל ההתאמות.

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

=XLOOKUP(1,(A2:A7=E2)*(B2:B7=F2),C2:C7) מחזירה את המחיר מהשורה שבה המוצר הוא E2 וגם הגודל הוא F2. כל השוואה בודקת כל שורה, ההכפלה שלהן נותנת 1 רק כששתיהן מתקיימות, ו-XLOOKUP מחפשת את ה-1 הזה. היא דורשת Excel 2021 או Microsoft 365; גרסת ה-INDEX MATCH בהמשך עובדת בכל גרסה.

מחיר לפי מוצר וגודל
G2
ABCDEFG
1ProductSizePriceProductSizePrice
2CoffeeSmall$2.50TeaLarge$3.00
3CoffeeLarge$3.50
4TeaSmall$2.00
5TeaLarge$3.00
6JuiceSmall$3.00
7JuiceLarge$4.00
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

Tea ו-Large נפגשים בשורה 5, ולכן G2 מחזיר $3.00. בחרו Juice ו-Small: שוב $3.00, משורה אחרת. הוסיפו ארגומנט רביעי למקרה ששום שורה לא מתאימה לשניהם: =XLOOKUP(1,(A2:A7=E2)*(B2:B7=F2),C2:C7,"No such item").

איך התנאים המוכפלים עובדים

A2:A7=E2 משווה כל מוצר ל-E2 ומחזירה שישה ערכי TRUE או FALSE. הכפלה של שתי רשימות כאלה הופכת TRUE ל-1 ו-FALSE ל-0, ושורה היא 1 רק אם היא 1 בשתיהן. עמודה D מציגה את הרשימה הזו, שנשפכת מנוסחה אחת.

המערך ש-XLOOKUP מחפשת בו
D2
ABCDEFG
1ProductSizePriceBoth matchProductSize
2CoffeeSmall$2.500TeaLarge
3CoffeeLarge$3.500
4TeaSmall$2.000
5TeaLarge$3.001
6JuiceSmall$3.000
7JuiceLarge$4.000
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

רק D5 הוא 1. שנו את F2 או את G2 וה-1 זז. כל קריטריון נוסף הוא עוד *(range=value), והתנאים לא חייבים להיות שוויון: *(C2:C7<3) מוסיף "מחיר מתחת ל-3". כל הטווחים חייבים לכסות את אותן שורות (A2:A7, B2:B7, C2:C7): אם לטווח ההחזרה יש גודל שונה מהתנאים, XLOOKUP מחזירה #VALUE!.

INDEX MATCH עם כמה קריטריונים

ל-Excel 2019 ומטה, MATCH יכולה לחפש את ה-1 באותו מערך ו-INDEX מחזירה את המחיר מהמיקום הזה.

שני קריטריונים עם INDEX ו-MATCH
G2
ABCDEFG
1ProductSizePriceProductSizePrice
2CoffeeSmall$2.50CoffeeLarge$3.50
3CoffeeLarge$3.50
4TeaSmall$2.00
5TeaLarge$3.00
6JuiceSmall$3.00
7JuiceLarge$4.00
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

Coffee ו-Large הם מיקום 2 של המערך, ו-INDEX מחזירה $3.50. ב-Excel 2019 ומטה זו נוסחת מערך: לחצו Ctrl+Shift+Enter (במק Cmd+Shift+Enter) במקום Enter, ואקסל מציג אותה בתוך סוגריים מסולסלים. לחיצה על Enter רגיל שם מחזירה בדרך כלל #N/A או #VALUE!. ב-Excel 365 מספיק Enter. הצורה עם קריטריון אחד נמצאת בעמוד INDEX ו-MATCH.

חיבור הקריטריונים למפתח אחד

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

חיבור מוצר וגודל למפתח אחד
G2
ABCDEFG
1ProductSizePriceProductSizePrice
2CoffeeSmall$2.50JuiceLarge$4.00
3CoffeeLarge$3.50
4TeaSmall$2.00
5TeaLarge$3.00
6JuiceSmall$3.00
7JuiceLarge$4.00
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

A2:A7&"|"&B2:B7 בונה שישה מפתחות כמו Juice|Large, ו-XLOOKUP מוצאת ביניהם את Juice|Large: $4.00. שימו מפריד בין החלקים. בלעדיו, "AB" ו-"C" מתחברים לאותו "ABC" כמו "A" ו-"BC", והחיפוש יכול להחזיר את השורה הלא נכונה.

אם הערך שאתם רוצים הוא מספר וכל צירוף מופיע פעם אחת, SUMIFS נותנת את אותה תשובה בלי מערך בכלל: =SUMIFS(C2:C7,A2:A7,E2,B2:B7,F2). היא מחזירה 0 במקום שגיאה כששום דבר לא מתאים, וזה יכול להסתיר שגיאת הקלדה.

החזרת כל ההתאמות עם FILTER

XLOOKUP ו-INDEX MATCH מחזירות את השורה המתאימה הראשונה. כשכמה שורות מתאימות ואתם רוצים את כולן, השתמשו ב-FILTER עם אותם תנאים.

כל הזמנות ה-Phone של North
F2
ABCDEFG
1RegionProductQuarterSalesMatches
2NorthLaptopQ1120Q1210
3NorthPhoneQ1210Q2225
4SouthLaptopQ195Q3240
5NorthPhoneQ2225
6SouthPhoneQ2180
7NorthLaptopQ2135
8NorthPhoneQ3240
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

שלוש שורות הן North ו-Phone, ולכן F2 שופך את הרבעונים והמכירות שלהן לתוך F2:G4. שנו את A3 ל-South והרשימה מתקצרת לשתיים. אם שום שורה לא מתאימה, FILTER מחזירה #CALC!; ארגומנט שלישי כמו "None" מציג טקסט במקום. עוד אפשרויות נמצאות בעמוד של FILTER.

תרגול: שלושה קריטריונים

מכירות לפי אזור, מוצר ורבעון
G4
ABCDEFG
1RegionProductQuarterSalesRegionSouth
2NorthLaptopQ1120ProductLaptop
3NorthLaptopQ2135QuarterQ2
4NorthPhoneQ1210Sales
5SouthLaptopQ195
6SouthPhoneQ2180
7SouthLaptopQ2110
8NorthPhoneQ2225
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

תורכם: החזירו ב-G4 את המכירות לאזור שב-G1, למוצר שב-G2 ולרבעון שב-G3.

שאלות נפוצות

איך משתמשים ב-XLOOKUP עם כמה קריטריונים?

הכפילו השוואה אחת לכל קריטריון וחפשו את 1: =XLOOKUP(1,(A2:A7=E2)*(B2:B7=F2),C2:C7). כל השוואה נותנת TRUE או FALSE לכל שורה, המכפלה היא 1 רק כשכולן TRUE, ו-XLOOKUP מחזירה את השורה הראשונה כזו.

איך עושים INDEX MATCH עם שני קריטריונים?

השתמשו באותם תנאים מוכפלים בתוך MATCH: =INDEX(C2:C7,MATCH(1,(A2:A7=E2)*(B2:B7=F2),0)). ב-Excel 2019 ומטה, אשרו אותה עם Ctrl+Shift+Enter (במק Cmd+Shift+Enter).

האם VLOOKUP יכולה להשתמש בשני קריטריונים?

לא ישירות. הוסיפו עמודת עזר בתחילת הטבלה שמחברת את שני הערכים, כמו =A2&"|"&B2, ואז חפשו את הערך המחובר: =VLOOKUP(E2&"|"&F2,helper_table,col,FALSE).

האם SUMIFS יכולה להחליף חיפוש עם שני קריטריונים?

כן, כשהערך הוא מספר וכל צירוף מופיע פעם אחת: =SUMIFS(C2:C7,A2:A7,E2,B2:B7,F2). היא מחזירה 0 במקום #N/A כששום שורה לא מתאימה, ומחברת את הערכים אם צירוף מופיע פעמיים.

איך מחפשים עם קריטריונים של OR?

חברו את התנאים במקום להכפיל אותם: (A2:A7="Tea")+(A2:A7="Juice") הוא 1 או יותר כשאחד מהם מתקיים. חפשו ערך גדול מ-0, למשל עם =XLOOKUP(TRUE,((A2:A7="Tea")+(A2:A7="Juice"))>0,C2:C7).

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

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

להתחיל