20+ 適用於 Excel 初學者與進階使用者的 VLOOKUP 範例
VLOOKUP 函數是 Excel 中最受歡迎的函數之一。本教學將逐步帶您掌握如何在 Excel 中靈活運用 VLOOKUP 函數,並提供數十個基礎與進階實用範例。
目錄:
- 2.1 完全符合與近似比對 VLOOKUP
- 2.2 區分大小寫 VLOOKUP
- 2.3 從右至左執行 VLOOKUP
- 2.4 查找第二個、第 n 個或最後一個相符值的 VLOOKUP
- 2.5 在兩個指定數值或日期之間執行 VLOOKUP
- 2.6 在 VLOOKUP 函數中使用萬用字元進行部分比對
- 2.7 從其他工作表執行 VLOOKUP
- 2.8 從其他活頁簿執行 VLOOKUP
- 2.9 執行 VLOOKUP 時傳回空白或特定文字,而非 0 或 #N/A 錯誤值
下載 VLOOKUP 範例檔案
VLOOKUP 函數簡介-語法與引數
在 Excel 中,VLOOKUP 函數對多數使用者來說都相當強大,能讓您在資料區域的最左欄搜尋特定值,並從您指定的欄位傳回同一列中的對應值,如下方螢幕截圖所示。
VLOOKUP 函數的語法:
引數:
「Lookup_value」(必要):您要搜尋的值,可以是數字、日期、文字,或是儲存格參照,且必須位於 table_array 範圍的第一欄中。
「Table_array」(必要):包含查詢值欄位與對應結果值欄位的資料區域或表格。
「Col_index_num」(必要):指定要傳回值的欄位編號,從表格陣列最左側欄位起算,起始編號為 1.
「Range_lookup」(選用):決定 VLOOKUP 函數傳回的是完全相符還是近似比對的邏輯值。
- 「近似比對」-1/TRUE/省略(預設):若找不到完全相符的值,公式會搜尋最接近的比對值,也就是小於查詢值的最大值。
- 「完全符合」-0/FALSE:此選項用於搜尋與查詢值完全相等的項目;若找不到完全相符的結果,將傳回錯誤值 #N/A。
函數注意事項:
- VLOOKUP 函數只能向右搜尋值。
- VLOOKUP 函數執行不區分大小寫的查詢。
- 若根據查詢值找到多個相符項目,VLOOKUP 函數僅會傳回第一個相符的結果。
2.1.1 執行完全符合 VLOOKUP
一般而言,若要使用 VLOOKUP 函數進行完全比對,只需將最後一個引數設為 FALSE 即可。
例如,若要根據特定 ID 編號取得對應的數學成績,請依下列步驟操作:
請將下方公式複製並貼上至空白儲存格(此處我選取 G2),然後按下「ENTER 鍵」取得結果:
=VLOOKUP(F2,$A$2:$D$7,3,FALSE)

注意:上述公式包含四個引數:
- 「F2」是包含您要查詢之值 C1005 的儲存格;
- 「A2:D7」是您執行查詢的資料表陣列;
- 「3」代表傳回相符值的欄位編號;也就是說,一旦函數找到 ID-C1005,就會移至資料表陣列的第三欄,並傳回與該 ID-C1005 位於同一列的值。
- 「FALSE」代表完全符合。
VLOOKUP 公式是如何運作的?
首先,它會從上往下在表格最左欄中搜尋 ID「C1005」,並在儲存格 A6 找到該值。
一旦找到該值,便會向右移至第三欄,並提取其中的內容。
因此,您將獲得如下圖所示的結果:
| 🤖 | KUTOOLS AI 助手:基於以下項目徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料與產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多重選擇下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位 | 移動欄位 | 取消隱藏欄位 | 比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫 | 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(依粗體/斜體……)…… | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)| 更多功能…… |
Kutools for Excel 提供超過 300 項功能,確保您所需的功能觸手可及……
2.1.2 執行近似比對 VLOOKUP
近似比對適用於搜尋值落在某個範圍內的情況。若找不到完全相符的項目,VLOOKUP 的近似比對會傳回小於查詢值的最大值。
例如,若您有以下資料範圍,而指定的訂單並未出現在「Orders」(訂單)欄中,該如何找出其在 B 欄中最接近的「Discount」(折扣)?
步驟 1:套用 VLOOKUP 公式並將其填滿至其他儲存格
將下列公式複製並貼上至您希望顯示結果的儲存格中,然後向下拖曳填滿控點,即可將此公式套用至其他儲存格。
=VLOOKUP(D2,$A$2:$B$9,2,TRUE)
結果:
現在,您將根據給定的值取得近似比對結果,請參見下圖:
注意事項:
- 在上述公式中:
- 「D2」是您想要傳回其相關資訊的值;
- 「A2:B9」是數據區域;
- 「2」表示傳回相符值的欄位編號;
- 「TRUE」代表啟用近似比對。
- 若找不到完全相符的值,近似比對將傳回小於指定查詢值的最大值。
- 若要使用 VLOOKUP 函數取得近似比對結果,您必須先將資料區域的最左欄按遞增順序排序,否則可能傳回錯誤結果。
2.2 在 Excel 中執行區分大小寫 VLOOKUP
預設情況下,VLOOKUP 函數執行不區分大小寫的查詢,會將小寫與大寫字元視為相同。然而,當您在 Excel 中需要進行區分大小寫的查詢時,標準的 VLOOKUP 函數便無法滿足需求。此時,您可以改用 INDEX 與 MATCH 函數搭配 EXACT 函數,或採用 LOOKUP 與 EXACT 函數的組合來達成目標。
例如,我有一個數據區域,其中 ID 欄包含全大寫或全小寫的文字字串,現在我想根據指定的 ID 傳回對應的數學成績。
步驟 1:套用任一公式並將其填滿至其他儲存格
請將下列任一公式複製並貼到您希望取得結果的空白儲存格中,然後選取該公式儲存格,向下拖曳填滿控點,即可將公式套用至其他目標儲存格。
公式 1:貼上公式後,請按下「Ctrl」+「Shift」+「Enter」。
=INDEX($C$2:$C$10,MATCH(TRUE,EXACT(F2,$A$2:$A$10),0))
公式 2:貼上公式後,請按下「Enter 鍵」。
=LOOKUP(2,1/EXACT(F2,$A$2:$A$10),$C$2:$C$10)
結果:
接著,您將獲得所需的正確結果,如下圖所示:
注意事項:
- 在上述公式中:
- 「A2:A10」是包含您要查找之特定值的欄位;
- 「F2」是查找值;
- 「C2:C10」為用於返回結果的欄位。
- 若找到多個相符值,此公式一律傳回最後一個相符的結果。
2.3 在 Excel 中從右向左執行 VLOOKUP
VLOOKUP 函數總是在資料區域的最左欄搜尋指定值,並從右側欄位傳回對應的結果。若您希望執行反向 VLOOKUP——也就是在右側欄位中搜尋特定值,並傳回其在最左欄中的對應值(如下圖所示):

2.4 在 Excel 中 VLOOKUP 第二個、第 n 個或最後一個相符值
一般使用 VLOOKUP 函數時,若找到多個相符值,僅會傳回第一筆相符記錄。本節將說明如何在資料區域中取得第二個、第 n 個或最後一個相符值。
2.4.1 VLOOKUP 並傳回第二個或第 n 個相符值
假設 A 欄為客戶姓名列表,B 欄為其購買的訓練課程。現在,您希望找出特定客戶所購買的第二個(或第 n 個)訓練課程。請參見下圖:
在此情況下,VLOOKUP 函數可能無法直接勝任此任務,但您可以改用 INDEX 函數作為更靈活的替代方案。
步驟 1:套用公式並將其填滿至其他儲存格
例如,若要根據指定條件取得第二個相符值,請將下列公式輸入空白儲存格,並同時按下「Ctrl」+「Shift」+「Enter」鍵以取得第一個結果。接著選取該公式儲存格,向下拖曳填滿控點,即可將公式套用至其他目標儲存格。
=INDEX($B$2:$B$14,SMALL(IF(E2=$A$2:$A$14,ROW($A$2:$A$14)-ROW($A$2)+1),2))
結果:
現在,所有符合指定名稱的第二筆資料已一次全部顯示。
注意:上述公式中:
- 「A2:A14」是包含所有查詢值的範圍;
- 「B2:B14」是您要從中傳回相符值的範圍;
- 「E2」是查詢值;
- 「2」代表您要取得的第二個相符值;若要傳回第三個相符值,只需將其改為 3 即可。
2.5 VLOOKUP 介於兩個指定值或日期之間的相符值
有時您可能希望待檢索的數值或日期落在兩個值之間,並據此傳回對應的結果(如下圖所示)。此時,建議使用 LOOKUP 函數(搭配已排序的表格),而非 VLOOKUP 函數。
2.5.1 使用公式執行介於兩個指定值或日期之間的 VLOOKUP
步驟 1:整理資料並套用下列公式
您的原始表格應為已排序的數據區域。接著,請將下列公式複製或輸入至空白儲存格中,再拖曳填滿控點,將公式套用至其他所需儲存格。
=LOOKUP(2,1/($A$2:$A$6<=E2)/($B$2:$B$6>=E2),$C$2:$C$6)
結果:
現在,您將根據指定值取得所有相符記錄,請參見下圖:
注意事項:
- 在上述公式中:
- 「A2:A6」是較小數值的範圍;
- 「B2:B6」是較大數值的範圍;
- 「E2」是您想要取得其對應值的查找值;
- 「C2:C6」是您要從中取得對應值的欄位。
- 此公式亦可用於提取如下方截圖所示兩個日期之間的相符值:

2.5.2 使用便捷功能執行介於兩個指定值或日期之間的 VLOOKUP
如果您覺得難以記住或理解上述公式,這裡為您推薦一款簡單好用的工具——「Kutools for Excel」。透過其「查找介於兩值之間的數據」功能,您能輕鬆根據特定數值或日期(只要落在兩個指定值或日期之間),快速取得對應的項目。
- 點擊「Kutools」>「進階 LOOKUP」>「查找介於兩值之間的資料」即可啟用此功能。
- 接著,請根據您的資料,在對話方塊中指定相關操作。

2.6 在 VLOOKUP 函數中使用萬用字元進行部分比對
在 Excel 中,您可以在 VLOOKUP 函數中運用萬用字元,輕鬆實現查詢值的部分比對。例如,只要輸入查詢值的其中一部分,VLOOKUP 就能從表格中自動找出相符的資料並傳回對應結果。
假設我有如下圖所示的資料範圍,現在想根據「名字」(而非全名)來提取對應的分數。在 Excel 中該如何達成這項任務?
步驟 1:套用公式並將其填滿至其他儲存格
請將下列公式複製或輸入至空白儲存格中,然後拖曳填滿控點,將此公式填滿至其他所需儲存格:
=VLOOKUP(E2&"*", $A$2:$C$11, 3, FALSE)
結果:
所有相符的分數均已傳回,如下圖所示:
注意:上述公式中:
- 「E2&“*“」是部分比對的條件,表示您要尋找所有以儲存格 E2 中的值開頭的資料。(萬用字元「)*」代表任意一個或多個字元)
- 「A2:C11」是您要搜尋相符值的資料範圍;
- 「3」表示從數據區域的第 3 欄傳回相符值;
- 「False」代表精確比對。(使用萬用字元時,您必須將函數的最後一個引數設為 FALSE 或 0,才能啟用 VLOOKUP 函數的完全相符模式。)
- 若要尋找並傳回以特定值結尾的相符項目,請將萬用字元「*」置於該值前方,並套用下列公式:
-
=VLOOKUP("*"&E2, $A$2:$C$11, 3, FALSE)
- 若要根據文字字串的部分內容(不論指定文字位於字串開頭、結尾或中間)查詢並返回相符的值,只需在儲存格參照或文字前後各加上兩個星號(*)即可。請使用下列公式:
-
=VLOOKUP("*"&D2&"*", $A$2:$B$11, 2, FALSE)
2.7 從其他工作表執行 VLOOKUP
通常您可能需要處理多個工作表,而 VLOOKUP 函數可從另一個工作表查詢資料,操作方式與在同一工作表中完全相同。
例如,您有如下圖所示的兩個工作表,若要從指定工作表查詢並傳回對應資料,請依下列步驟操作:
步驟 1:套用公式並將其填滿至其他儲存格
請在您希望取得相符項目的空白儲存格中輸入或貼上下列公式,然後向下拖曳填滿控點,將公式套用至其他目標儲存格。
=VLOOKUP(A2,'Data sheet'!$A$2:$C$15,3,0)
結果:
您將獲得所需的對應結果,請參見下圖:
![]() | ![]() | ![]() |
注意:上述公式中:
- 「A2」代表查詢值;
- 「‘Data sheet‘!A2:C15」表示在名為「資料工作表」的工作表中,於 A2:C15 範圍內搜尋值;(若工作表名稱包含空格或標點符號,需以單引號將其括起;否則可直接使用工作表名稱,例如:
=VLOOKUP(A2,Datasheet!$A$2:$C$15,3,0))。 - 「3」是包含您要返回之相符資料的欄位編號;
- 「0」表示完全符合。
2.8 從其他活頁簿執行 VLOOKUP
本節將說明如何運用 VLOOKUP 函數,從其他活頁簿中查詢並傳回相符的值。
例如,假設您有兩個活頁簿:第一個活頁簿包含產品清單及其對應成本;在第二個活頁簿中,您希望提取每個產品項目的對應成本(如下圖所示)。
步驟 1:套用公式
開啟您要使用的兩個活頁簿,然後在第二個活頁簿中,於您希望顯示結果的儲存格輸入下列公式,再將該公式拖曳複製至其他所需儲存格。
=VLOOKUP(B2,'[Product list.xlsx]Sheet1'!$A$2:$B$6,2,0)
結果:

注意事項:
- 在上述公式中:
- 「B2」代表查找值;
- 「'[Product list.xlsx]Sheet 1'!A2:B6」表示從名為 Product list 的活頁簿中、名為 Sheet 1 的工作表之 A2:B6 範圍進行搜尋;(活頁簿的參照以方括號包圍,而整個「活頁簿+工作表」則以單引號包圍。)
- 「2」是包含您要傳回之相符資料的欄位編號;
- 「0」表示完全符合。
- 若查詢活頁簿已關閉,公式中將顯示該查詢活頁簿的完整檔案路徑,如下圖所示:

2.9 傳回空白或特定文字,而非 0 或 #N/A 錯誤
使用 VLOOKUP 函數傳回對應值時,若相符的儲存格為空白,通常會傳回 0;若找不到相符值,則會顯示錯誤值 #N/A(如下圖所示)。若您希望改以空白或特定值取代 0 與 #N/A,這篇 VLOOKUP 傳回空白或特定值以取代 0 或 N/A 教學將助您輕鬆達成目標!

3.1 雙向查詢(在列與欄中執行 VLOOKUP)
有時您可能需要執行二維查詢,也就是同時在列與欄中搜尋特定數值。例如,若您擁有下列資料區域,可能需要取得某項產品在指定季度的數值。本節將介紹一個適用於 Excel 的公式,協助您輕鬆完成此類任務。
在 Excel 中,您可以結合 VLOOKUP 與 MATCH 函數,輕鬆實現雙向查詢。
請將下列公式套用至空白儲存格,然後按下「Enter 鍵」即可取得結果。
=VLOOKUP(G2, $A$2:$E$7, MATCH(H1, $A$2:$E$2, 0), FALSE)

注意: 上述公式中:
- 「G2」是您用來取得對應值所依據的查詢值所在欄位;
- 「A2:E7」是您將從中查詢的資料表;
- 「H1」是您用來取得對應值所依據的查詢值所在列;
- 「A2:E2」是欄位標題所在的儲存格;
- 「FALSE」表示完全符合。
3.2.1 使用公式根據兩個或更多條件執行 VLOOKUP 匹配數值
在此情況下,Excel 的 LOOKUP、MATCH 與 INDEX 函數能助您快速又輕鬆地完成這項任務。
例如,若您有一張如下所示的資料表,並希望根據特定產品與尺寸傳回對應價格,以下公式可助您一臂之力。
步驟 1:套用下列任一公式
公式 1:輸入下列公式,然後按下「Enter 鍵」。
=LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2),($D$2:$D$12))
公式 2:輸入下列公式,然後按下「Ctrl」+「Shift」+「Enter」。
=INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2),0))
結果:

注意事項:
- 上述公式中:
- 「A2:A12=G1」表示在範圍 A2:A12 中搜尋 G1 的條件;
- 「B2:B12=G2」表示在範圍 B2:B12 中搜尋 G2 的條件;
- 「D2:D12」是 您要從中取得對應值的範圍。
- 若您有超過兩個條件,只需將其他條件加入公式中,例如:
=LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2)/($C$2:$C$12=G3),($D$2:$D$12))=INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2)*($C$2:$C$12=G3),0)) 
3.2.2 使用 Kutools for Excel 根據兩個或更多條件執行 VLOOKUP 匹配數值
上述複雜公式不僅難以記憶,還需反覆套用,恐拖慢工作效率。幸而「Kutools for Excel」內建「Lookup 多條件查找」功能,只需輕點幾下,就能依單一或多個條件快速傳回對應結果。
- 按一下「Kutools」>「高級 LOOKUP」>「多條件查找」即可啟用此功能。
- 接著,請根據您的資料,在對話方塊中指定相關操作。

3.3 根據一個或多個條件執行 VLOOKUP 傳回多筆數值
在 Excel 中,VLOOKUP 函數搜尋到數值後,若存在多筆重複的對應值,僅會傳回第一筆匹配結果。然而,您可能希望將所有相符的數值一併傳回至同一列、同一欄或單一儲存格中。本節將說明如何根據一個或多個條件,在活頁簿中傳回所有匹配的數值。
3.3.1 根據一個或多個條件水平傳回所有匹配數值
假設您有一張包含國家、城市及姓名的資料表(範圍為 A1:C14),現在希望如以下截圖所示,水平列出所有來自「美國」的姓名。若要完成此任務,請按此處逐步取得結果。

3.3.3 將所有匹配數值根據一個或多個條件傳回至單一儲存格
若您想執行 VLOOKUP,並將多筆匹配結果傳回至單一儲存格(以指定分隔符號分隔),TEXTJOIN 新函數可協助您快速且輕鬆地完成此任務。

注意事項:
- TEXTJOIN 函數僅適用於 Excel 2019、Excel 365 及更新版本。
- 若您使用 Excel 2016 或更早版本,請參閱下列文章中的使用者自訂函數:
- 在 Excel 中使用 VLOOKUP 將多個值返回至單一儲存格
3.4 傳回匹配儲存格的整行的 VLOOKUP
本節將說明如何運用 VLOOKUP 函數擷取與條件相符之整列資料。
步驟 1:套用下列公式
請將下列公式複製或輸入至欲顯示結果的空白儲存格,按下「Enter 鍵」取得第一筆數值,再向右拖曳該公式儲存格,直至整行資料完整顯示為止。
=VLOOKUP($F$2,$A$1:$D$12,COLUMN(A1),FALSE)
結果:
現在,您可以看到整行資料已成功傳回。請參閱下方截圖:
注意:上述公式中:
- 「F2」是您用來返回整列資料所依據的查詢值;
- 「A1:D12」是您要從中搜尋查詢值的數據區域;
- 「A1」表示您的數據區域中的第一欄編號;
- 「FALSE」表示執行精確查詢。
提示:
- 若根據相符值找到多列資料,並希望返回所有對應列,請套用下列公式,然後同時按下「Ctrl」+「Shift」+「Enter」鍵以取得第一個結果。接著向右拖曳填滿控點,再繼續向下拖曳至所有儲存格,即可取得所有相符的列。請參閱下方示範:
=IFERROR(INDEX(A:A,SMALL(IF(ISNUMBER(SEARCH($F$2,$A$2:$A$12)),ROW($A$2:$A$12),""),ROW()-1)),"")
3.5 Excel 中的巢狀 VLOOKUP
有時,您可能需要跨多張工作表查詢彼此關聯的數值。此時,可將多個 VLOOKUP 函數巢狀使用,以取得最終結果。
例如,我有一份工作表包含兩張獨立的表格:第一張列出所有產品名稱及其對應的業務員,第二張則列出每位業務員的總銷售額。現在,若要找出每項產品對應的銷售金額(如下方截圖所示),即可透過巢狀 VLOOKUP 函數輕鬆完成此任務。
巢狀 VLOOKUP 函數的一般公式如下:
注意事項:
- 「lookup_value」是您要查詢的值;
- 「Table_array 1」、「Table_array 2」是包含查詢值與返回值的表格;
- 「col_index_num 1」表示在第一個表格中用於尋找中介共同資料的欄位編號;
- 「col_index_num 2」表示在第二個表格中您要返回相符值的欄位編號;
- 「0」用於執行完全相符的比對。
步驟 1:套用並填滿下列公式
請將下列公式套用至空白儲存格,然後向下拖曳填滿控點,以套用至目標儲存格。
=VLOOKUP(VLOOKUP(G3,$A$3:$B$7,2,0),$D$3:$E$7,2,0)
結果:
現在,您將取得如下方截圖所示的結果:
注意:上述公式中:
- 「G3」 包含您要查詢的值;
- 「A3:B7」、「D3:E7」是包含查詢值與返回值的表格範圍;
- 「2」是用於指定在返回相符值的範圍中所對應的欄位編號。
- 「0」代表 VLOOKUP 執行精確比對。
3.6 根據另一欄中的清單資料檢查數值是否存在
VLOOKUP 函數還能協助您根據另一欄的資料清單,快速確認某數值是否存在。例如,您可在 C 欄中搜尋姓名,並依據 A 欄是否包含該姓名,自動傳回「是」或「否」(如下方截圖所示)。
步驟 1:套用下列公式
請將下列公式套用至空白儲存格,然後向下拖曳填滿控點,以將公式套用至目標儲存格。
=IF(ISNA(VLOOKUP(C2,$A$2:$A$10,1,FALSE)), "No", "Yes")
結果:
您將獲得所需結果,請參見截圖:
注意:上述公式中:
- 「C2」是您要檢查的查詢值;
- 「A2:A10」是用來檢查是否能找到待檢索值區域的範圍清單;
- 「FALSE」表示完全符合。
3.7.1 VLOOKUP 並加總單一列或多重列的所有匹配數值
假設您有一份包含數月銷售數據的產品清單(如下方截圖所示),現在需要針對指定產品,加總其所有月份的訂單總量。
步驟 1:套用下列公式
請將下列公式複製或輸入至空白儲存格,然後同時按下「Ctrl」+「Shift」+「Enter」鍵,即可取得第一筆結果。接著,向下拖曳填滿控點,將公式複製到其他所需的儲存格。
=SUM(VLOOKUP(H2, $A$2:$F$9, {2,3,4,5,6}, FALSE))

結果:
第一筆匹配數值所在列的所有數值均已加總,請參見截圖:
注意:上述公式中:
- 「H2」是包含您要查詢之值的儲存格;
- 「A2:F9」是數據區域(不含欄位標題),其中包含查詢值與相符值;
- 「{2,3,4,5,6}」是用於計算範圍總計的欄位編號;
- 「FALSE」表示完全符合。
提示:若要加總多列中的所有相符項目,請使用下列公式:
-
=SUMPRODUCT(($A$2:$A$9=H2)*$B$2:$F$9) 
3.7.2 VLOOKUP 並加總單一欄或多重欄的所有匹配數值
若您想加總特定月份的總值(如下方截圖所示),單靠一般的 VLOOKUP 函數可能難以達成目標,此時應結合 SUM、INDEX 與 MATCH 函數來建立公式。
步驟 1:套用下列公式
將下列公式套用至空白儲存格,然後向下拖曳填滿控點,將公式複製到其他儲存格。
=SUM(INDEX($B$2:$F$9,0,MATCH(H2,$B$1:$F$1,0)))
結果:
現在,特定月份欄中第一筆匹配數值已加總完成,請參見截圖:
注意:上述公式中:
- 「H2」是包含您要查詢之值的儲存格;
- 「B1:F1」是包含查詢值的欄位標題;
- 「B2:F9」是包含您要加總數值的資料範圍。
提示:若要執行 VLOOKUP 並加總多欄中的所有相符值,應使用下列公式:
-
=SUMPRODUCT($B$2:$F$9*(($B$1:$F$1)=H2)) 
3.7.3 使用 Kutools for Excel 執行 VLOOKUP 並加總第一筆或所有匹配數值
上述公式可能不易記憶,因此推薦使用「Kutools for Excel」的強大功能——「查找求和」。透過此功能,您能以最簡單的方式執行 VLOOKUP,並加總列或欄中第一筆或所有相符的數值。
- 點擊「Kutools」>「進階 LOOKUP」>「查找求和」即可啟用此功能。
- 接著,請根據您的需求在對話方塊中指定相關操作。
3.7.4 同時根據列與欄執行 VLOOKUP 並加總所有匹配數值
若您需要同時根據欄與列進行交叉匹配來加總數值,例如取得毛衣(Sweater)在三月(Mar)的總銷售金額(如下方截圖所示)。
此時可運用 SUMPRODUCT 函數輕鬆完成此任務。
請將下列公式套用至儲存格,再按下「ENTER 鍵」取得結果,請參見截圖:
=SUMPRODUCT(($B$2:$F$9)*($B$1:$F$1=I2)*($A$2:$A$9=H2))

注意:上述公式中:
- 「B2:F9」是包含您要加總之數值的數據區域;
- 「B1:F1」是包含您要據以加總之查詢值的欄位標題;
- 「I2」是您要在欄位標題中查詢的查詢值;
- 「A2:A9」是包含您要據以加總之查詢值的列標題;
- 「H2」是您要在列標題中搜尋的查詢值。
3.8 根據關鍵列使用 VLOOKUP 合併兩張表格
日常工作中分析資料時,您可能需要根據一個或多個關鍵欄位,將所有必要資訊彙整至單一表格。此時,建議使用 INDEX 與 MATCH 函數來取代 VLOOKUP 函數。
3.8.1 根據單一關鍵列使用 VLOOKUP 合併兩張表格
例如,您有兩張表格:第一張包含產品與姓名資料,第二張則包含產品與訂單資料;現在需要透過比對兩者共通的「產品」欄位,將這兩張表格合併為一。
步驟 1:套用下列公式
請將下列公式套用至空白儲存格,再向下拖曳填滿控制點,即可將公式套用至您所需的儲存格。
=INDEX($F$2:$F$8, MATCH($A2, $E$2:$E$8, 0))
結果:
現在,您將獲得一個合併後的表格,其中訂單欄位會依據關鍵列資料與第一個表格進行關聯。
注意事項:上述公式中:
- 「A2」是您要查詢的值;
- 「F2:F8」是您要返回相符值的資料範圍;
- 「E2:E8」為包含查詢值的查詢範圍。
3.8.2 使用 VLOOKUP 根據多個關鍵列合併兩個表格
若要合併的兩個表格包含多個關鍵欄位,且您希望依據這些共用欄位進行合併,請依照下列步驟操作。
通用公式如下:
注意事項:
- 「lookup_table」是包含查詢資料與相符記錄的數據區域;
- 「lookup_value 1」是您要查詢的第一個條件;
- 「lookup_range 1」是包含第一個條件的資料清單;
- 「lookup_value 2」是您要查詢的第二個條件;
- 「lookup_range 2」是包含第二個條件的資料清單;
- 「return_column_number」代表在 lookup_table 中,您要傳回相符值的欄位編號。
步驟 1:套用下列公式
請將下方公式套用至您希望顯示結果的空白儲存格中,然後同時按下「Ctrl」+「Shift」+「Enter」鍵,以取得第一個相符的值,請參閱截圖:
=INDEX($E$2:$G$9, MATCH(1, ($A2=$E$2:$E$9) * ($B2=$F$2:$F$9), 0), 3)

步驟 2:將公式填入其他儲存格
接著,選取第一個包含公式的儲存格,並拖曳填滿控制點,依需求將此公式複製到其他儲存格:
3.9 在多個工作表之間使用 VLOOKUP 比對數值
您是否曾需要在 Excel 的多個工作表中執行 VLOOKUP?例如,若您有三個包含區域資料的工作表,並希望根據這些工作表中的條件擷取特定數值,請依照以下逐步教學 在多個工作表間執行 VLOOKUP,輕鬆完成此任務!

4.1 使用 VLOOKUP 比對數值並保留儲存格顏色與字型格式
眾所周知,標準的 VLOOKUP 函數僅能從另一個數據區域中提取相符的數值。然而,有時您可能希望同時取得對應的數值及其儲存格格式,例如填滿色彩、字型顏色與字型樣式。本節將說明如何在 Excel 中提取比對數值的同時,完整保留來源格式。
請依照下列步驟進行查詢,並傳回對應的數值及其儲存格格式:
步驟 1:將程式碼 1 複製到工作表程式碼模組中
- 在包含您要執行 VLOOKUP 資料的工作表上,以滑鼠右鍵點擊工作表標籤,然後從快捷選單中選擇「檢視程式碼」。請參閱以下螢幕截圖:

- 在開啟的「Microsoft Visual Basic for Applications」視窗中,請將下方的 VBA 程式碼複製到程式碼視窗內。
- VBA 程式碼 1:VLOOKUP 取得查詢值及其儲存格格式
Sub Worksheet_Change(ByVal Target As Range) 'Updateby Extendoffice Dim I As Long Dim xKeys As Long Dim xDicStr As String On Error Resume Next Application.ScreenUpdating = False xKeys = UBound(xDic.Keys) If xKeys >= 0 Then For I = 0 To UBound(xDic.Keys) xDicStr = xDic.Items(I) If xDicStr <> "" Then Range(xDic.Keys(I)).Interior.Color = _ Range(xDic.Items(I)).Interior.Color Range(xDic.Keys(I)).Font.FontStyle = _ Range(xDic.Items(I)).Font.FontStyle Range(xDic.Keys(I)).Font.Size = _ Range(xDic.Items(I)).Font.Size Range(xDic.Keys(I)).Font.Color = _ Range(xDic.Items(I)).Font.Color Range(xDic.Keys(I)).Font.Name = _ Range(xDic.Items(I)).Font.Name Range(xDic.Keys(I)).Font.Underline = _ Range(xDic.Items(I)).Font.Underline Else Range(xDic.Keys(I)).Interior.Color = xlNone End If Next Set xDic = Nothing End If Application.ScreenUpdating = True End Sub
步驟 2:將程式碼 2 複製到模組視窗中
- 仍在「Microsoft Visual Basic for Applications」視窗中,請點選「插入」>「模組」,並將下方的 VBA 程式碼 2 複製到「模組」視窗中。
- VBA 程式碼 2:VLOOKUP 取得查詢值及其儲存格格式
-
Public xDic As New Dictionary Function LookupKeepFormat (ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long) Dim xFindCell As Range On Error Resume Next Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole) If xFindCell Is Nothing Then LookupKeepFormat = "" xDic.Add Application.Caller.Address, "" Else LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address End If End Function 
步驟 3:選取 VBAproject 的選項
- 插入上述程式碼後,請在「Microsoft Visual Basic for Applications」視窗中依序點選「工具」>「參考設定」。接著,在「參考設定 – VBAProject」對話方塊中勾選「Microsoft Scripting Runtime」核取方塊。詳情請參閱螢幕截圖:



- 接著點擊「確定」關閉對話方塊,然後儲存並關閉程式碼視窗。
步驟 4:輸入公式以取得結果
- 現在返回工作表,套用下列公式,然後向下拖曳填滿控點,即可取得所有結果及其格式。請參閱螢幕截圖:
=LookupKeepFormat(E2,$A$1:$C$10,3)
注意:上述公式中:
- 「E2」是您要查詢的值;
- 「A1:C10」是表格範圍;
- 「3」是您要從中提取相符值的表格欄位編號。
4.2 保留 VLOOKUP 傳回結果中的日期格式返回值
當您在使用 VLOOKUP 函數查詢並傳回帶有日期格式的數值時,結果可能會顯示為純數字。若要在傳回結果中保留日期格式,請將 VLOOKUP 函數嵌入 TEXT 函數中。
步驟 1:套用下列公式
請將下列公式套用至空白儲存格,再拖曳填滿控制點,即可將公式複製到其他儲存格。
=TEXT(VLOOKUP(E2,$A$2:$C$9,3,FALSE),"mm/dd/yyyy")
結果:
所有相符的日期均已如以下截圖所示傳回:
注意:上述公式中:
- 「E2」是查詢值;
- 「A2:C9」是查詢範圍;
- 「3」是您要返回值的欄位編號;
- 「FALSE」表示執行完全符合;
- 「mm/dd/yyyy」是您要保留的日期格式。
4.3 從 VLOOKUP 傳回批註
您是否曾在 Excel 中需要使用 VLOOKUP 同時擷取相符儲存格的資料及其相關註解(如以下截圖所示)?若是如此,下方提供的使用者自訂函數將能協助您輕鬆完成這項任務。
步驟 1:將程式碼複製到模組中
- 按下「Alt」+「F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
- 按一下「插入」>「模組」,然後將下列程式碼複製並貼上至「模組」視窗中。
VBA 程式碼:VLOOKUP 並傳回帶有批註的相符值:Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant 'Updateby Extendoffice Application.Volatile Dim xRet As Variant 'could be an error Dim xCell As Range xRet = Application.Match(LookVal, FTable.Columns(1), FType) If IsError(xRet) Then VlookupComment = "Not Found" Else Set xCell = FTable.Columns(FColumn).Cells(1)(xRet) VlookupComment = xCell.Value With Application.Caller If Not .Comment Is Nothing Then .Comment.Delete End If If Not xCell.Comment Is Nothing Then .AddComment xCell.Comment.Text End If End With End If End Function - 接著儲存並關閉程式碼視窗。
步驟 2:輸入公式以取得結果
- 現在請輸入下列公式,並拖曳填滿控點將其複製到其他儲存格。系統將同時傳回相符的值與註解,詳情請參閱螢幕截圖:
=vlookupcomment(D2,$A$2:$B$9,2,FALSE)
注意:上述公式中:
- 「D2」是您要返回其對應值的查詢值;
- 「A2:B9」是您要使用的資料表;
- 「2」是包含您要返回之相符值的欄位編號;
- 「FALSE」表示完全符合。
4.4 VLOOKUP 查詢以文字格式儲存的數字
舉例來說,假設您有一組資料,其中原始表格的 ID 編號為數字格式,而查詢儲存格中的 ID 編號則以文字格式儲存。此時若使用標準 VLOOKUP 函數,可能會出現 #N/A 錯誤。為正確擷取資訊,您可在 VLOOKUP 函數中嵌套 TEXT 與 VALUE 函數。以下是實現此功能的公式:
步驟 1:套用並填滿下列公式
請將下列公式套用至空白儲存格,再向下拖曳填滿控制點以複製公式。
=IFERROR(VLOOKUP(VALUE(D2),$A$2:$B$8,2,0),VLOOKUP(TEXT(D2,0),$A$2:$B$8,2,0))
結果:
現在,您將獲得如以下截圖所示的正確結果:
注意事項:
- 在上述公式中:
- 「D2」是您要返回其對應值的查詢值;
- 「A2:B8」是您要使用的資料表;
- 「2」是包含您要返回之相符值的欄位編號;
- 「0」表示要求完全相符。
- 即使您不確定哪些位置是數字、哪些是文字,此公式依然能順利運作。
最佳辦公生產力工具
| 🤖 | KUTOOLS AI 助手:根據以下內容革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重值 VLookup | 跨多個工作表的 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多重選擇下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 前 15 大工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……更多 |
透過 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效作業!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更加輕鬆
- 啟用 Word、Excel、PowerPoint、Publisher、Access、Visio 與 Project 中的分頁式編輯與閱讀功能。
- 在同一視窗的新分頁中開啟與建立多份文件,而非在新視窗中操作。
- 每天為您減少數百次滑鼠點擊,工作效率提升 50%!
所有 Kutools 增益集,一次安裝
Kutools for Office 套件組合包含適用於 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,是跨 Office 應用程式團隊的絕佳選擇!
- 全方位套件— Excel、Word、Outlook 與 PowerPoint 增益集 + Office Tab Pro
- 一套安裝程式,一張授權— 數分鐘即可完成設定(支援 MSI)
- 協同運作更出色— 在多款 Office 應用程式中實現流暢高效的工作體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值首選— 比單獨購買增益集更省
目錄
- 1.VLOOKUP 函數簡介
- 2.VLOOKUP 基本範例
- 2.1 精確與近似 VLOOKUP
- 完全符合
- 近似比對
- 2.2 區分大小寫 VLOOKUP
- 2.3 從右至左執行 VLOOKUP
- 2.4 查詢第二個、第 N 個或最後一個相符值
- 第二個或第 N 個相符值
- 最後一個相符值
- 2.5 在兩個值之間執行 VLOOKUP
- 透過公式實現
- 透過使用實用功能-Kutools
- 2.6 部分比對 VLOOKUP
- 2.7 從其他工作表執行 VLOOKUP
- 2.8 從其他活頁簿執行 VLOOKUP
- 2.9 修復 VLOOKUP 中的 0 或 #N/A 錯誤值
- 3. 進階 VLOOKUP 範例
- 3.1 雙向查詢
- 3.2 根據多項條件執行 VLOOKUP
- 透過使用公式
- 透過使用智慧功能-Kutools
- 3.3VLOOKUP 多個相符值
- 返回值水平方向
- 返回值垂直方向
- 返回值合併至單一儲存格
- 3.4VLOOKUP 整行
- 3.5 巢狀 VLOOKUP
- 3.6 檢查值是否存在
- 3.7VLOOKUP 並加總
- 在列中
- 在欄中
- 透過強大功能-Kutools
- 同時適用於列與欄
- 3.8 使用 VLOOKUP 合併兩個表格
- 依據單一關鍵列
- 依據多個關鍵列
- 3.9 跨多個工作表執行 VLOOKUP
- 4。VLOOKUP 並保留儲存格格式
- 4.1 保留色彩與字型格式
- 4.2 保留日期格式
- 4.3 保留批註
- 4.4 數字以文字形式儲存
- 最佳辦公生產力工具



















