=INDEX(A2:C6,3,2) מחזירה את הערך בשורה השלישית ובעמודה השנייה של הטווח A2:C6. המיקומים נספרים מהתא השמאלי העליון של הטווח, ולכן שורה 3 של A2:C6 היא שורה 4 בגיליון. שנו את ה-3 או את ה-2 וראו את התוצאה זזה.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Row | Column | Result | |
| 2 | Apple | Fruit | $1.20 | 3 | 2 | Vegetable | |
| 3 | Pear | Fruit | $1.50 | ||||
| 4 | Carrot | Vegetable | $0.80 | ||||
| 5 | Bread | Bakery | $2.40 | ||||
| 6 | Milk | Dairy | $1.10 |
ב-E2 יש את מספר השורה וב-F2 את מספר העמודה. שורה 3 היא Carrot ועמודה 2 היא Category, ולכן G2 מציג Vegetable. הגדירו את F2 ל-1 בשביל שם המוצר, או את E2 ל-6 כדי לראות #REF!: ב-A2:C6 יש רק חמש שורות.
התחביר של INDEX
=INDEX(array, row_num, [column_num])
array: הטווח (או המערך) שממנו קוראים.row_num: איזו שורה בו, החל מ-1. השתמשו ב-0 לכל השורות.column_num: איזו עמודה, החל מ-1. אופציונלי כשהטווח הוא עמודה אחת או שורה אחת; השתמשו ב-0 לכל העמודות.
בעמודה אחת, מספר אחד מספיק: =INDEX(A2:A6,4) הוא הפריט הרביעי, Bread. צורה שנייה, =INDEX((A2:C3,A5:C6),1,1,2), בוחרת מתוך אחד מכמה טווחים; כמעט אף פעם לא צריך אותה.
קבלת הפריט ה-n, או האחרון
INDEX עם עמודה אחת עונה על "מה הפריט מספר n". בשילוב עם COUNTA, שסופרת את התאים המלאים, היא מחזירה את הפריט האחרון של רשימה שגדלה.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Item number | 2 | |
| 2 | Apple | Nth item | Pear | |
| 3 | Pear | Last item | Milk | |
| 4 | Carrot | |||
| 5 | Bread | |||
| 6 | Milk |
ב-D1 כתוב 2, ולכן D2 מחזיר Pear. COUNTA סופרת 5 מוצרים, ולכן D3 מחזיר את החמישי, Milk. מחקו את Milk ו-D3 יחזיר Bread. בקובץ אמיתי, הפנו את שתיהן לטווח ארוך יותר כמו A2:A1000 כדי שגם שורות חדשות ייכללו; COUNTA עובדת כך רק כשאין בעמודה תאים ריקים באמצע.
החזרת שורה או עמודה שלמה עם 0
0 כמספר השורה פירושו "כל השורות", ולכן INDEX(B2:D5,0,2) היא כל העמודה השנייה. בתוך SUM, AVERAGE או MAX, זה מסכם עמודה שנבחרה לפי מספר.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar | Month number | Total | |
| 2 | North | 4,200 | 3,900 | 4,800 | 2 | 15,200 | |
| 3 | South | 3,100 | 3,600 | 3,300 | |||
| 4 | East | 5,200 | 4,700 | 5,600 | |||
| 5 | West | 2,800 | 3,000 | 3,400 |
חודש 2 הוא Feb, ו-G2 מחבר את C2:C5: 15,200. שנו את F2 ל-3 בשביל מרץ. שורה שלמה עובדת באותה דרך: =SUM(INDEX(B2:D5,3,0)) מסכמת את East. ב-Excel 2021 וב-Microsoft 365, =INDEX(B2:D5,0,2) לבדה שופכת את ארבעת הערכים למטה בגיליון. כדי לבחור את העמודה לפי הכותרת שלה במקום לפי מספר, החליפו את F2 ב-MATCH, וזו התבנית של INDEX ו-MATCH.
INDEX על מערך או על תוצאה נשפכת
INDEX קוראת גם מערכים שנוסחה מחזירה, לא רק טווחים בגיליון. כך בוחרים פריט אחד מתוך רשימה ממוינת, מסוננת או ייחודית בלי לכתוב את הרשימה קודם.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Most expensive | Bread | |
| 2 | Apple | Fruit | $1.20 | Second | Pear | |
| 3 | Pear | Fruit | $1.50 | Cheapest | Carrot | |
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
SORTBY מחזירה את חמשת המוצרים לפי סדר המחיר, ו-INDEX לוקחת את פריט 1 (Bread), את פריט 2 (Pear) או, מהמיון העולה, את פריט 1 (Carrot). שנו את המחיר של Milk ל-3 והוא הופך ליקר ביותר. אם רשימה נשפכת כבר נמצאת בגיליון, נניח ב-H2, Excel 2021 ו-Microsoft 365 מאפשרים לכתוב =INDEX(H2#,2) בשביל הפריט השני שלה.
תרגול: סכום של חודש שנבחר
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar | Month number | Total | |
| 2 | North | 4,200 | 3,900 | 4,800 | 1 | ||
| 3 | South | 3,100 | 3,600 | 3,300 | |||
| 4 | East | 5,200 | 4,700 | 5,600 | |||
| 5 | West | 2,800 | 3,000 | 3,400 |
תורכם: ב-G2, החזירו את הסכום של החודש שהמספר שלו ב-F2 (1 = Jan, 2 = Feb, 3 = Mar), בעזרת INDEX.
שאלות נפוצות
מה פונקציית INDEX עושה באקסל?
היא מחזירה את הערך שבמיקום נתון בטווח: =INDEX(A2:C6,3,2) מחזירה את הערך בשורה השלישית ובעמודה השנייה של A2:C6. המיקומים נספרים מהתא השמאלי העליון של הטווח, לא משורה 1 של הגיליון.
איך מקבלים את הערך האחרון בעמודה עם INDEX?
השתמשו בספירת התאים המלאים כמספר השורה: =INDEX(B2:B100,COUNTA(B2:B100)) מחזירה את הערך האחרון של עמודה בלי רווחים. עם רווחים, =LOOKUP(2,1/(B2:B100<>""),B2:B100) מחזירה את הערך האחרון שאינו ריק.
למה INDEX מחזירה #REF!?
מספר השורה או העמודה גדול מהטווח. =INDEX(A2:A6,7) מבקשת את הפריט השביעי בטווח של חמישה תאים ומחזירה #REF!.
איך מחזירים עמודה שלמה עם INDEX?
השתמשו ב-0 כמספר השורה: =INDEX(B2:D5,0,2) מחזירה את כל העמודה השנייה. עטפו אותה בפונקציה כדי לסכם אותה, כמו ב-=SUM(INDEX(B2:D5,0,2)), או תנו לה להישפך ב-Excel 2021 וב-Microsoft 365.