說明
使用此功能可搜尋資料表範圍第一列中的值,並從另一指定列返回同一行中的值。鏈結中支援。
VLOOKUP 對於在大型資料集中尋找資訊非常有用,例如在產品目錄中尋找價格或在資料庫中尋找員工詳細資訊。
語法
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
輸入
此函式接受下列參數
| 名稱 | 必要 | 說明 | 有效輸入 |
|---|---|---|---|
lookup_value |
是 | 要在表格陣列第一列搜尋的值。 | 結果為上述任何一項的儲存格引用、儲存格範圍、數字、文字字串或公式。 |
table_array |
是 | 查詢資料的資訊表。 | 儲存格範圍。 |
col_index_num |
是 |
table_array 中的列號,應從該列傳回配對值。 |
一個正整數、一個包含正整數的儲存格參照,或一個結果為其中之一的公式。1=table_array 中的第一列 . |
range_lookup |
沒有 | 指定要 VLOOKUP 查找精确匹配还是近似匹配。 | TRUE (預設) 表示近似匹配,FALSE 表示完全匹配。 |
範例
範例資料
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 產品識別碼 | 產品名稱 | 類別 | 價格 |
| 2 | 1001 | 小工具 A | 小工具 | $10.99 |
| 3 | 1002 | 小工具 B | 小工具 | $15.99 |
| 4 | 1003 | Gizmo X | 電子產品 | $25.50 |
| 5 | 1004 | Gizmo Y | 電子產品 | $30.00 |
| 6 | 1005 | Gizmo Z | 電子產品 | $37.50 |
公式範例
| 使用案例 | 公式 | 說明與結果 |
|---|---|---|
| 查詢產品 ID,尋找完全符合的對應產品名稱。 | =vlookup(1002, a2:d6, 2, false) |
此公式的工作方式如下:
對於此資料設置,公式返回小工具 B 。 |
| 查詢產品 ID,尋找完全匹配的對應價格。 | =VLOOKUP(1003, A2:D6, 4, FALSE) |
此公式的工作方式如下:
對於此資料集,公式會返回$25.50 。 |
| 查找一個產品名稱,以完全匹配的方式尋找其對應的類別。 | =VLOOKUP("Gizmo X", B2:D6, 2, FALSE) |
此公式的工作方式如下:
對於此資料設置,公式返回電子 。 |
| 查詢一個近似值,並從對應的行中回傳值。 | =VLOOKUP(1006, A2:D6, 2, TRUE) |
此公式的工作方式如下:
對於此資料集,公式會回傳Gizmo Z 。 |
查詢產品 ID,省略range_lookup 參數,預設為近似匹配。 |
=VLOOKUP(1002, A2:D6, 2) |
此公式的工作方式如下:
對於此資料設置,公式返回小工具 B 。 |
附註
- 查詢值必須位於
table_array的第一列,VLOOKUP 才能正確運作。 - 如果
range_lookup為 TRUE 或省略,table_array的第一列必須以升序排序。 - 如果
range_lookup為 FALSE 且未找到 lookup_value,VLOOKUP 會返回 #N/A 錯誤。 - 比較文字值時,VLOOKUP 不區分大小寫。
- 對於大型資料集,若要獲得更好的效能,請考慮使用 INDEX 和MATCH 函數來取代 VLOOKUP。
提示
- 當您需要精確匹配時,尤其是使用未排序的資料或文字值時,請對
range_lookup使用 FALSE。 - 將 VLOOKUP 與其他函式結合,例如IFERROR ,以處理找不到查詢值的情況。
- 對於反向查詢或當查詢列不是最左時,請考慮使用INDEX 和MATCH 來取代。
- 在處理大型資料集時,如果您的資料已排序,則在
range_lookup設為 TRUE 的情況下使用 VLOOKUP 可以改善效能。 - 請記住,VLOOKUP 只能從
table_array中查找列右側的列返回值。