Excel 教學:INDEX 函數
1. INDEX 函數的用途
INDEX 函數用來返回指定範圍內某個儲存格的值,可以根據列數和欄數來查找特定位置的數據。它有兩種主要模式:
- 陣列模式(直接傳回某範圍的資料)
- 參照模式(返回範圍中指定位置的數據)
2. INDEX 函數的語法
陣列模式:
INDEX(array, row_num, [column_num])
| 參數 | 說明 |
|---|---|
array | 必填,要查找的資料範圍或陣列。 |
row_num | 必填,指定要返回的行號。 |
[column_num] | 選填,指定要返回的列號(若範圍只有一列,則可省略)。 |
參照模式:
INDEX(reference, row_num, [column_num], [area_num])
| 參數 | 說明 |
|---|---|
reference | 必填,一個或多個範圍參照。 |
row_num | 必填,指定要返回的行號。 |
[column_num] | 選填,指定要返回的列號(若範圍只有一列,則可省略)。 |
[area_num] | 選填,指定要使用的範圍區域(對於多範圍參照)。 |
3. INDEX 函數範例
? 範例 1:基本的 INDEX 函數使用
假設 A1:C3 有以下資料:
| 姓名 | 年齡 | 分數 |
|---|---|---|
| 小明 | 20 | 88 |
| 小華 | 22 | 90 |
| 小美 | 21 | 85 |
? 查找第二行第三列的值(即 小華 的分數):
=INDEX(A1:C3, 2, 3)
? 結果:90
? 範例 2:查找特定行的資料(僅列數)
若想查找第 1 行中的所有資料,可以省略 column_num。
=INDEX(A1:C3, 1)
? 結果:返回 A1:C1 的所有值,即 小明 20 88。
? 範例 3:使用 INDEX 配合 MATCH 查找
使用 INDEX 和 MATCH 來進行更靈活的查找(如 VLOOKUP 的替代方案)。
假設 A1:B4 有以下資料:
| 姓名 | 分數 |
|---|---|
| 小明 | 88 |
| 小華 | 90 |
| 小美 | 85 |
? 查找 小華 的分數:
=INDEX(B1:B3, MATCH("小華", A1:A3, 0))
? 結果:90(MATCH 函數找出 小華 在 A1:A3 中的位置,然後 INDEX 函數返回該位置對應的 B 列值)。
? 範例 4:使用參照模式的 INDEX
假設有兩個範圍:A1:B3 和 D1:E3,並且希望查找第二個範圍的值。
| 姓名 | 年齡 | 姓名 | 年齡 |
|---|---|---|---|
| 小明 | 20 | 小華 | 22 |
| 小美 | 21 | 小明 | 23 |
| 小華 | 22 | 小美 | 24 |
? 查找 D2 的值(即 小華 的年齡):
=INDEX((A1:B3, D1:E3), 2, 2, 2)
? 結果:22(返回第二區域(D1:E3)中的第 2 行、第 2 列的值)。
4. INDEX 函數的應用
✅ 查找表格內某行或某列的資料。
✅ 與 MATCH 函數結合,提供更加靈活的查找功能,比 VLOOKUP 更強大。
✅ 動態引用,根據條件動態返回數據(例如:根據名稱查分數、根據日期查庫存等)。
5. INDEX vs. VLOOKUP
| 函數 | 特點 | 適用情境 |
|---|---|---|
| INDEX | 基於行列位置查找,可以查找任意範圍的資料(橫向、縱向皆可)。 | 需要更多靈活性或查找列數、行數。 |
| VLOOKUP | 垂直查找,僅能查找資料的第一列,並返回同列中其他行的資料。 | 當資料較為簡單,且查找方向為垂直時使用。 |
6. 總結
INDEX函數用來根據指定的行號和列號,返回某個範圍或陣列中的資料。- 可以用
INDEX+MATCH結合來實現更靈活的查找。 - 適用於需要精確控制查找位置的情境,特別是在複雜的資料表中,
INDEX優於VLOOKUP。