使用 INDEX 和 MATCH 進行多條件查找
在處理具有多列和行標題的 Excel 電子表格中的大型數據庫時,要找到符合多個條件的內容總是棘手的。在這種情況下,您可以使用包含 INDEX 和 MATCH 函數的陣列公式。
如何執行多條件查找?
為了找出如上圖所示的白色、中號且價格為 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))
公式解釋
=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 MATCH 函數在單元格範圍內搜索特定值,並返回該值的相對位置。
相關公式
在某些情況下,您可能需要根據多個條件查找最接近或近似匹配的值。通過結合 INDEX、MATCH 和 IF 函數,您可以快速在 Excel 中完成此操作。
有時候我們需要在 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 一樣。