根據多個條件在 Excel 中返回多個匹配值(完整指南)
Excel 用戶經常遇到這樣的場景:需要提取滿足多個條件的多個值,並將所有匹配結果呈現在一列、一行或合併到單一儲存格中。本指南探討了適用於所有 Excel 版本的方法,以及 Excel 365 和 2021 中可用的新 FILTER 函數。

根據多個條件在單一儲存格中返回多個匹配值
在 Excel 中,根據多個條件在單一儲存格內提取多個匹配值是一個常見挑戰。這裡有兩種高效的解決方案。
方法 1:使用 Textjoin 函數(Excel365 / 2021,2019)
若要將所有匹配值以分隔符形式合併到單一儲存格中,TEXTJOIN 函數可助您一臂之力。
將以下公式輸入或複製到空白儲存格中,然後按下 Enter 鍵(Excel 2021 和 Excel 365),或在 Excel 2019 中按下 Ctrl + Shift + Enter 鍵以獲取結果:
=TEXTJOIN(", ", TRUE, IF(($A$2:$A$18=E2)*($B$2:$B$18=F2), $C$2:$C$18, ""))
- ($A$2:$A$21=E2)*($B$2:$B$21=F2) 檢查每一行是否同時符合兩個條件:“賣家等於 E2”和“月份等於 F2”。如果兩個條件都符合,則結果為 1;否則為 0。星號 * 表示兩個條件必須同時成立。
- IF(..., $C$2:$C$21, "") 如果該行匹配,則返回產品名稱;否則返回空白。
- TEXTJOIN(", ", TRUE, ...) 將所有非空白的產品名稱合併到一個儲存格中,並用“,”分隔。
方法 2:使用 Kutools for Excel
Kutools for Excel 提供了一個強大且簡單的解決方案,讓您能夠快速根據多個條件檢索並合併多個匹配值到單一儲存格中,而無需複雜的公式。
安裝 Kutools for Excel 後,請按以下步驟操作:
- 選擇您想根據條件獲取所有對應值的數據範圍。
- 然後,點擊 Kutools > 合併與分割 > 高級合併行,請參閱截圖:
- 在高級合併行對話框中,請配置以下選項:
- 選擇包含匹配條件的欄位標題(例如,賣家和月份)。對於每個選定的欄位,點擊主鍵以將其設置為查找條件。
- 點擊您希望合併結果的欄位標題(例如,產品)。從合併部分中選擇您偏好的分隔符(例如,逗號、空格或自訂分隔符)。
- 最後,點擊確定按鈕。
結果:Kutools 將立即根據唯一的條件組合合併所有匹配值到單一儲存格中。
根據多個條件在一列中返回多個匹配值
當您需要從數據集中提取並顯示基於多個條件的多個匹配記錄時,並將結果以垂直列格式呈現,Excel 提供了幾種強大的解決方案。
方法 1:使用陣列公式(適用於所有版本)
您可以使用以下陣列公式來垂直返回結果:
1. 複製或輸入以下公式到空白儲存格:
=IFERROR(INDEX($C$2:$C$18, SMALL(IF(($A$2:$A$18=$E$2)*($B$2:$B$18=$F$2), ROW($C$2:$C$18)-ROW($C$2)+1), ROW(1:1))), "")
2. 按下 Ctrl + Shift + Enter 鍵以獲取第一個匹配結果,然後選擇第一個公式儲存格並向下拖動填充柄,直到顯示空白儲存格,此時所有匹配值都已返回,如下截圖所示:
- $A$2:$A$18=$E$2: 檢查賣家是否匹配 E2 儲存格中的值。
- $B$2:$B$18=$F$2: 檢查月份是否匹配 F2 儲存格中的值。
- * 是邏輯 AND 運算子(兩個條件必須同時成立)。
- ROW($C$2:$C$18)-ROW($C$2)+1: 為每個產品生成相對行號。
- SMALL(..., ROW(1:1)): 取得第 n 個最小的匹配行(隨著公式向下拖動)。
- INDEX(...): 返回匹配行的產品。
- IFERROR(..., ""): 如果沒有更多匹配值,則返回空白儲存格。
方法 2:使用 Filter 函數(Excel365 / 2021)
如果您使用的是 Excel 365 或 Excel 2021,FILTER 函數是返回基於多個條件的多個結果的絕佳選擇,因為它簡潔、清晰且能夠動態溢出結果,無需複雜的陣列公式。
複製或輸入以下公式到空白儲存格,然後按下 Enter 鍵,所有匹配記錄都會根據多個條件返回。
=FILTER(C2:C18, (A2:A18=E2)*(B2:B18=F2), "No match")
- FILTER(...) 返回 C2:C18 中所有符合兩個條件的值。
- (A2:A18=E2)*(B2:B18=F2): 邏輯陣列,檢查匹配的賣家和月份。
- "No match": 如果未找到值,則顯示的可選消息。
根據多個條件在一列中返回多個匹配值
Excel 用戶經常需要從數據集中提取符合多個條件的多個值,並將它們水平顯示(在一列)。這對於創建動態報告、儀表板或摘要表格非常有用,尤其是在垂直空間有限的情況下。在本節中,我們將探討兩種強大的方法。
方法 1:使用陣列公式(適用於所有版本)
傳統的陣列公式允許使用 INDEX、SMALL、IF 和 COLUMN 函數提取多個匹配值。與垂直提取(基於列)不同,我們調整公式以在行中返回結果。
1. 複製或輸入以下公式到空白儲存格:
=IFERROR(INDEX($C$2:$C$18, SMALL(IF(($A$2:$A$18=$E$2)*($B$2:$B$18=$F$2), ROW($C$2:$C$18)-ROW($C$2)+1), COLUMN(A1))), "")
2. 按下 Ctrl + Shift + Enter 鍵以獲取第一個匹配結果,然後選擇第一個公式儲存格並向右拖動公式以獲取所有結果。
- $A$2:$A$18=$E$2: 檢查賣家是否匹配。
- $B$2:$B$18=$F$2: 檢查月份是否匹配。
- *: 邏輯 AND——兩個條件必須同時成立。
- ROW($C$2:$C$18)-ROW($C$2)+1: 創建相對行號。
- COLUMN(A1): 根據公式向右拖動的程度調整返回哪個匹配值。
- IFERROR(...): 在匹配耗盡後防止錯誤。
方法 2:使用 Filter 函數(Excel365 / 2021)
複製或輸入以下公式到空白儲存格,然後按下 Enter 鍵,所有匹配值都被提取並位於一行中。請參閱截圖:
=TRANSPOSE(FILTER(C2:C18, (A2:A18=E2)*(B2:B18=F2), "No match"))
- FILTER(...): 根據兩個條件從 C 列中檢索匹配值。
- (A2:A18=E2)*(B2:B18=F2): 兩個條件必須同時成立。
- TRANSPOSE(...): 將 FILTER 返回的垂直陣列轉換為水平陣列。
🔚 結論
根據多個條件在 Excel 中返回多個匹配值可以通過多種方式實現,具體取決於您希望如何顯示結果——無論是在列、行還是單一儲存格中。
- 對於使用 Excel 365 或 Excel 2021 的用戶,FILTER 函數提供了一個現代化、動態且優雅的解決方案,極大地簡化了複雜性。
- 對於使用舊版本的用戶,陣列公式仍然是強大的工具,儘管它們需要更多的設置和注意事項。
- 此外,如果您想將結果合併到單一儲存格中,或者偏好無程式碼解決方案,TEXTJOIN 函數或像 Kutools for Excel 這樣的第三方工具可以顯著簡化流程。
選擇最適合您 Excel 版本和首選佈局的方法,您將能夠高效且準確地處理多條件查詢。如果您有興趣探索更多 Excel 技巧和竅門,我們的網站提供了數千個教程,幫助您精通 Excel。
更多相關文章:
- 在單一逗號分隔儲存格中返回多個查找值
- 在 Excel 中,我們可以應用 VLOOKUP 函數從表格中返回第一個匹配值,但有時候,我們需要提取所有匹配值並將其以特定分隔符(如逗號、破折號等)分隔到單一儲存格中,如下方截圖所示。如何在 Excel 中獲取並返回多個查找值到一個逗號分隔的儲存格中呢?
- 在 Google 表格中一次返回多個匹配值的 Vlookup
- Google 表格中的正常 Vlookup 函數可以幫助您根據給定數據查找並返回第一個匹配值。但是,有時候您可能需要 vlookup 並返回所有匹配值,如下方截圖所示。您是否有任何良好且簡單的方法來解決這個問題?
- Vlookup 並從下拉列表中返回多個值
- 在 Excel 中,如何通過下拉列表進行 vlookup 並返回多個相應值,這意味著當您從下拉列表中選擇一項時,所有相關值會一次性顯示,如下方截圖所示。本文將逐步介紹解決方案。
- 在 Excel 中 Vlookup 並垂直返回多個值
- 通常,您可以使用 Vlookup 函數獲取第一個對應值,但有時候,您希望根據特定條件返回所有匹配記錄。本文將討論如何 vlookup 並垂直、水平或合併到單一儲存格中返回所有匹配值。
- 在 Excel 中 Vlookup 並返回兩個值之間的匹配數據
- 在 Excel 中,我們可以應用普通的 Vlookup 函數根據給定數據獲取對應值。但是,有時候我們希望 vlookup 並返回兩個值之間的匹配值,如下方截圖所示,您如何在 Excel 中處理這個任務?
最佳 Office 生產力工具
🤖 | Kutools AI 助手:以智能執行為基礎,革新數據分析 |生成程式碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 增強函數… |
熱門功能:查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不遺失數據 | 四捨五入(免公式)... | |
高級 LOOKUP:多條件 VLookup|多值 VLookup|多表查找|模糊查找... | |
高級下拉列表:快速創建下拉列表 |依賴型下拉列表 | 多選下拉列表... | |
列管理器:添加指定數量的列 | 移動列 | 切換隱藏列的顯示狀態 | 比較區域及列... | |
精選功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫(快捷文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線...)... | |
15 大工具集:12 項文本工具(添加文本、刪除特定字符…)|50+ 儀表 類型(甘特圖等)|40+ 實用 公式(基於生日計算年齡等)|19 項插入工具(插入QR码、根據路徑插入圖片等)|12 項轉換工具(金額轉大寫、匯率轉換等)|7 項合併與分割工具(高級合併行、分割儲存格等)|...及更多 |
運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...
Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單
- 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀。
- 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
- 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!
所有 Kutools 外掛,一次安裝
Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。





- 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
- 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
- 協同運作更順暢 — Office 應用間無縫提升生產力
- 30 天全功能試用 — 無需註冊、無需信用卡
- 最超值 — 一次購買,節省單獨外掛費用