Skip to main content

使用 INDEX 和 MATCH 進行多條件查找

Author: Amanda Li Last Modified: 2025-05-12

在處理具有多列和行標題的 Excel 電子表格中的大型數據庫時,要找到符合多個條件的內容總是棘手的。在這種情況下,您可以使用包含 INDEXMATCH 函數的陣列公式。

multiple criteria index match 1

如何執行多條件查找?

為了找出如上圖所示的白色、中號且價格為 18 美元的產品,您可以利用布爾邏輯生成一個由 1 和 0 組成的陣列,以顯示符合條件的行。然後,MATCH 函數將找到符合所有條件的第一行的位置。之後,INDEX 將在同一行中找到相應的產品 ID。

通用語法

=INDEX(return_range,MATCH(1,(criteria_value1=criteria_range1*criteria_value2=criteria_range2*(…),0))

√ 注意:這是一個陣列公式,需要您使用 Ctrl + Shift + Enter 輸入。

  • return_range: 您希望組合公式從中返回產品 ID 的範圍。這裡指的是產品 ID 範圍。
  • criteria_value: 用於定位產品 ID 位置的條件。這裡指的是 H3、H5 和 H6 單元格中的值。
  • criteria_range: 列出 criteria_values 的對應範圍。這裡指的是顏色、尺寸和價格範圍。
  • match_type 0: 強制 MATCH 找到等於 lookup_value 的第一個值。

要找到白色中號且價格為 18 美元的產品,請在單元格 H8 中複製或輸入以下公式,並按 Ctrl + Shift + Enter 以獲取結果:

=INDEX(B5:B10,MATCH(1,("White"=C5:C10)*("Medium"=D5:D10)*(18=E5:E10),0))

或者,使用單元格引用使公式動態化:

=INDEX(B5:B10,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0))

multiple criteria index match 2

公式解釋

=INDEX(B5:B10,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0))

  • (h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10): 公式將單元格 h3 中的顏色與範圍 C5:C10 中的所有顏色進行比較;將 H5 中的尺寸與 D5:D10 中的所有尺寸進行比較;將 H6 中的價格與 E5:E10 中的所有價格進行比較。初始結果如下:
    {TRUE;FALSE;TRUE;FALSE;TRUE;FALSE}*{FALSE;FALSE;TRUE;TRUE;TRUE;FALSE}*{FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}。
    乘法會將 TRUE 和 FALSE 轉換為 1 和 0:
    {1;0;1;0;1;0}*{0;0;1;1;1;0}*{0;0;0;1;1;0}。
    乘法後,我們將得到一個單一陣列:
    {0;0;0;0;1;0}
  • MATCH(1,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0),0) = MATCH(1,MATCH(1,{0;0;0;0;1;0},0),0): match_type 0 要求 MATCH 函數找到完全匹配項。然後函數將返回 1 在陣列 {0;0;0;0;1;0} 中的位置,即 5
  • INDEX(B5:B10B5:B10,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0)) = INDEX(B5:B10B5:B10,5): INDEX 函數返回產品 ID 範圍 B5:B10 中的第 5 個值,即 30005

相關函數

Excel INDEX 函數

Excel INDEX 函數根據範圍或陣列中的給定位置返回顯示的值。

Excel MATCH 函數

Excel MATCH 函數在單元格範圍內搜索特定值,並返回該值的相對位置。


相關公式

使用多條件查找最接近的匹配值

在某些情況下,您可能需要根據多個條件查找最接近或近似匹配的值。通過結合 INDEX、MATCH 和 IF 函數,您可以快速在 Excel 中完成此操作。

使用 INDEX 和 MATCH 進行近似匹配

有時候我們需要在 Excel 中找到近似匹配來評估員工的表現、給學生打分、根據重量計算郵費等。在本教程中,我們將討論如何使用 INDEX 和 MATCH 函數來檢索我們需要的結果。

從另一個工作表或工作簿中查找值

如果您知道如何使用 VLOOKUP 函數在工作表中搜索值,那麼從另一個工作表或工作簿中 vlookup 值也不會是問題。本教程將向您展示如何在 Excel 中從另一個工作表中 vlookup 值。


最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

? Kutools AI 助手:基於智能執行生成代碼創建自訂公式分析數據並生成圖表調用 Kutools 函數…來徹底改變數據分析方式。
熱門功能查找、標記或識別重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  四捨五入無需公式 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫(自動文本)  |  日期提取器  |  合併資料  |  加密/解密儲存格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文字工具添加文本刪除特定字符 ...)  |  50+ 圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行分割Excel單元格 ...)  |  ... 還有更多

Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...


Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 當查看和編輯多個文檔時,您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。