KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

在 Excel 中根據多個條件傳回多個相符值(完整指南)

作者Xiaoyang修改日期

Excel 使用者經常需要同時滿足多個條件,並從資料中擷取所有相符的值,再將結果顯示於欄、列,或合併至單一儲存格。本指南將介紹適用於所有 Excel 版本的解決方法,以及 Excel 365 與 Excel 2021 中全新推出的 FILTER 函數。


根據多個條件,在單一儲存格中傳回多個相符值

在 Excel 中,根據多個條件於單一儲存格內擷取所有相符值是一項常見挑戰。以下介紹兩種高效方法。

方法 1:使用 TEXTJOIN 函數(Excel 365/2021,2019)

若要將所有相符的值以分隔符號合併至單一儲存格,TEXTJOIN 函數正是您的得力助手。

在空白儲存格中輸入或複製下列公式,然後按下 ENTER 鍵(Excel 2021 與 Excel 365)或 Ctrl + Shift + ENTER 鍵(Excel 2019)以取得結果:

=TEXTJOIN(", ", TRUE, IF(($A$2:$A$18=E2)*($B$2:$B$18=F2), $C$2:$C$18, ""))

使用 TEXTJOIN 函數在單一儲存格中根據多個條件傳回多個相符的值

公式說明:
  • ($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 > 合併和拆分 > 高級合併行,請參閱截圖:
    點擊 Kutools 的「進階合併列」
  3. 在高級合併行對話方塊中,請設定下列選項:
    • 選擇包含您比對條件的欄位標題(例如:銷售員與月份),並針對每個選取的欄位點擊「主鍵」,將其設定為查詢條件。
    • 點擊您希望取得合併結果的欄位標題(例如:產品)。在「合併」區段中,選擇您偏好的分隔符號(例如逗號、空格或自訂分隔符)。
  4. 最後,點擊「確定」按鈕。
    在對話方塊中指定選項

結果: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 函數(Excel 365/2021)

若您使用的是 Excel 365 或 Excel 2021,FILTER 函數憑藉其簡潔清晰的語法,以及無需複雜陣列公式即可動態溢出結果的特性,是根據多項條件傳回多筆資料的絕佳選擇。

將下方公式複製或輸入至空白儲存格,然後按下 Enter 鍵,系統便會根據多項條件傳回所有符合的記錄。

=FILTER(C2:C18, (A2:A18=E2)*(B2:B18=F2), "No match")

使用 FILTER 函數在欄中根據多個條件傳回多個相符的值

公式說明:
  • FILTER(...)傳回 C2:C18 中同時符合兩個條件的所有值。
  • (A2:A18=E2)*(B2:B18=F2):用於檢查銷售員與月份是否相符的邏輯陣列。
  • 「無相符結果」:若未找到任何值,可選擇顯示此訊息。

根據多個條件,在列中傳回多個相符值

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 函數(Excel 365 / 2021)

將下方公式複製或輸入至空白儲存格,然後按下 Enter 鍵,所有符合條件的值便會自動提取並以橫列方式呈現。請參閱截圖:

=TRANSPOSE(FILTER(C2:C18, (A2:A18=E2)*(B2:B18=F2), "No match"))

使用 FILTER 函數在列中根據多個條件傳回多個相符的值

公式說明:
  • FILTER(...):根據兩個條件,從 C 欄中擷取符合條件的值。
  • (A2:A18=E2)*(B2:B18=F2):兩個條件都必須成立。
  • TRANSPOSE(...):將 FILTER 函數所傳回的垂直陣列轉換為水平陣列。

🔚 結論

在 Excel 中,可透過多種方式根據多項條件提取所有符合的值,具體取決於您希望以直欄、橫列,還是單一儲存格來呈現結果。

  • 對於使用 Excel 365 或 Excel 2021 的使用者來說,FILTER 函數提供了一種現代化、動態且簡潔的解決方案,大幅降低操作複雜度。
  • 對於使用舊版 Excel 的使用者來說,陣列公式依然是強大的工具,儘管需要多花一點心思進行設定與留意細節。
  • 此外,若您希望將結果整合至單一儲存格,或偏好無需手動編寫公式的解決方案,TEXTJOIN 函數或 Kutools for Excel 等第三方工具能大幅簡化此流程。

選擇最適合您 Excel 版本與偏好的版面配置方法,即可高效且精準地處理多重條件查詢!想掌握更多 Excel 實用技巧?我們的網站提供數千篇教學文章,助您精通 Excel


更多相關文章:

  • 在單一逗號分隔儲存格中傳回多個待檢索值區域
  • 在 Excel 中,我們可以使用 VLOOKUP 函數從表格儲存格中傳回第一個相符值,但有時需要擷取所有相符的值,並以特定分隔符(例如逗號、短橫線等)合併至單一儲存格,如以下截圖所示。如何在 Excel 中將多個待檢索值區域取得並傳回至一個以逗號分隔的儲存格內?
  • 在 Google 工作表中一次 VLOOKUP 並傳回多個相符值
  • Google 工作表中的標準 VLOOKUP 函數能根據指定資料找出並傳回第一個相符值。但有時您可能需要讓 VLOOKUP 傳回所有相符值,如以下截圖所示。在 Google 工作表中,是否有簡單又有效的方法達成這項任務?
  • VLOOKUP 並從下拉式清單傳回多個值
  • 在 Excel 中,當您從下拉式清單選取一個項目時,如何同時執行 VLOOKUP 並立即顯示其所有對應值(如以下截圖所示)?本文將逐步為您說明解決方法。
  • 在 Excel 中垂直 VLOOKUP 並傳回多個值
  • 通常可使用 VLOOKUP 函數取得第一個對應值,但有時您可能希望根據特定條件傳回所有相符的記錄。本文將說明如何以垂直、水平或合併至單一儲存格的方式執行 VLOOKUP,並傳回所有相符值。

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用