Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

根據多個條件在 Excel 中返回多個匹配值(完整指南)

Author Xiaoyang Last modified

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, ""))

Return multiple matching values based on multiple criteria in a single cell with textjoin function

此公式的解釋:
  • ($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 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

安裝 Kutools for Excel 後,請按以下步驟操作:

  1. 選擇您想根據條件獲取所有對應值的數據範圍。
  2. 然後,點擊 Kutools > 合併與分割 > 高級合併行,請參閱截圖:
    click Advanced Combine Rows of kutools
  3. 在高級合併行對話框中,請配置以下選項:
    • 選擇包含匹配條件的欄位標題(例如,賣家和月份)。對於每個選定的欄位,點擊主鍵以將其設置為查找條件。
    • 點擊您希望合併結果的欄位標題(例如,產品)。從合併部分中選擇您偏好的分隔符(例如,逗號、空格或自訂分隔符)。
  4. 最後,點擊確定按鈕。
    specify the options in the dialog box

結果:Kutools 將立即根據唯一的條件組合合併所有匹配值到單一儲存格中。
Return multiple matching values based on multiple criteria in a single cell with 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 鍵以獲取第一個匹配結果,然後選擇第一個公式儲存格並向下拖動填充柄,直到顯示空白儲存格,此時所有匹配值都已返回,如下截圖所示:

Return multiple matching values based on multiple criteria in a column with array formula

此公式的解釋:
  • $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")

Return multiple matching values based on multiple criteria in a column with filter function

此公式的解釋:
  • 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 鍵以獲取第一個匹配結果,然後選擇第一個公式儲存格並向右拖動公式以獲取所有結果。

Return multiple matching values based on multiple criteria in a row with array formula

此公式的解釋:
  • $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"))

Return multiple matching values based on multiple criteria in a row with filter function

此公式的解釋:
  • 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 並垂直、水平或合併到單一儲存格中返回所有匹配值。

最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

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