10 種多條件查找方法


本指南介紹 10 個強大的函數與公式,用於在 Excel 中進行多條件查找。想像你需要查找 John 在 March 的資料;這看似簡單,但其實有多種方法可達成!從 VLOOKUP 到 SUMPRODUCT,甚至最簡單的 SUM 函數,以下提供十種方法供你參考。

1. VLOOKUP

Formula:

=VLOOKUP(E2 & F2, IF({1,0}, A2:A13 & B2:B13, C2:C13), 2, 0)

詳細說明:

  • E2 & F2:將儲存格 E2 和 F2 的值串接起來(例如,將 “John” 和 “March” 組成 “JohnMarch”),以建立唯一的查找鍵。
  • IF({1,0}, A2:A13 & B2:B13, C2:C13):
    • 運算式 A2:A13 & B2:B13 會把 A 欄和 B 欄的值合併成單一陣列以供查找(例如 “JohnMarch”)。
    • IF({1,0}, …) 這個部分是一個建立陣列的技巧,讓 VLOOKUP 函數能配合多個欄位運作。
  • 2: 這表示 VLOOKUP 應從查找陣列的第二欄返回值。
  • 0: 表示函數要尋找精確匹配。

2. LOOKUP


Formula:

=LOOKUP(1, 0 / ((A2:A13 = E2) * (B2:B13 = F2)), C2:C13)

詳細說明:

  • (A2:A13 = E2): 會建立一個 TRUE/FALSE 陣列,表示 A 欄的名稱是否等於 E2。
  • (B2:B13 = F2): 同樣為月份建立一個 TRUE/FALSE 陣列。
  • *(乘法):當你將這兩個陣列相乘時,TRUE 會變成 1,FALSE 會變成 0。這表示只有同時為 TRUE 的列會產生 1。
  • 0 / (…):除以 0 會建立一個陣列;同時符合兩個條件的列會得到 1,不符合的列則會出現錯誤。
  • LOOKUP(1, …):此函數會在陣列中尋找第一個 1,也就是同時符合兩個條件的第一列,並傳回 C2:C13 中的對應值。

3. INDEX + MATCH


Formula:

=INDEX(C2:C13, MATCH(E2 & F2, A2:A13 & B2:B13, 0))

詳細說明:

  • E2 & F2:將查找條件串接成單一字串。
  • A2:A13 & B2:B13:建立由 A 欄和 B 欄串接值構成的陣列,概念與上述相同。
  • MATCH(…, …, 0):在名稱和月份的串接陣列中,尋找串接後查找鍵首次出現的位置。 0 表示需要精確匹配。
  • INDEX(C2:C13, …):找到匹配位置後,此函數會從 C 欄擷取對應的值。

4. OFFSET + MATCH


Formula:

=OFFSET(C1, MATCH(E2 & F2, A2:A13 & B2:B13, 0), 0)

詳細說明:

  • MATCH(E2 & F2, A2:A13 & B2:B13, 0):與前述方法類似,此函數會找出串接後查找鍵的位置。
  • OFFSET(C1, …, 0):從儲存格 C1 開始,向下移動 MATCH 函數傳回的列數。 0 表示沒有水平位移。

5. INDIRECT + MATCH


Formula:

=INDIRECT(“C” & MATCH(E2 & F2, A1:A13 & B1:B13, 0))

詳細說明:

  • MATCH(E2 & F2, A1:A13 & B1:B13, 0):找出串接後查找鍵的位置。
  • “C” & …:建立儲存格參照字串(例如 “C5″)。
  • INDIRECT(…):將字串 “C5” 轉換為儲存格參照,使公式可以傳回該儲存格的值。

6. SUM


Formula:

=SUM((A2:A13 = E2) * (B2:B13 = F2) * C2:C13)

詳細說明:

  • (A2:A13 = E2): 會建立一個由 1(代表 TRUE)和 0(代表 FALSE)組成的陣列,用來表示 A 欄的名稱是否與 E2 相符。
  • (B2:B13 = F2): 對月份做相同的處理。
  • * C2:C13: 會把這些陣列相乘。只有在兩個條件都為 TRUE 時,C2:C13 的對應數值才會納入加總。
  • SUM(…):將結果加總。

7. SUMIFS


Formula:

=SUMIFS(C2:C13, A2:A13, E2, B2:B13, F2)

詳細說明:

  • C2:C13: 這是要加總的範圍。
  • A2:A13, E2: 指定第一個條件範圍與條件。會對 C2:C13 中符合名稱的值進行加總。
  • B2:B13, F2: 指定第二個條件範圍與條件。根據月份進一步篩選加總。

8. SUMPRODUCT


Formula:

=SUMPRODUCT((A2:A13 = E2) * (B2:B13 = F2) * C2:C13)

詳細說明:

  • (A2:A13 = E2): 根據名稱是否相符建立 1 與 0 的陣列。
  • (B2:B13 = F2): 為月份建立相同的陣列。
  • * C2:C13: 把兩個條件陣列乘上 C2:C13 中的數值。僅在兩個條件皆為 TRUE 時,對應的數值才會被計入加總。
  • SUMPRODUCT(…):將相乘後的結果加總。

9. DSUM


Formula:

=DSUM(A1:C13, 3, E1:F2)

詳細說明:

  • A1:C13: 這是包含您資料的資料庫範圍。
  • 3: 表示函數會從第三欄彙總數值(即 C 欄)。
  • E1:F2: 這是定義條件的條件範圍,通常包含與資料庫欄位對應的標題。

10. MAX


Formula:

=MAX((A2:A13 = E2) * (B2:B13 = F2) * C2:C13)

詳細說明:

  • (A2:A13 = E2): 會產生由 1 與 0 組成的陣列,當名稱相符時為 1。
  • (B2:B13 = F2): 針對月份產生類似的陣列。
  • * C2:C13: 將條件陣列乘以 C2:C13 的值,只有兩個條件都為 TRUE 的對應值會被計入結果。
  • MAX(…):從結果陣列中找出最大值。

結語

在 Excel 中,使用多重條件進行查找能顯著提升資料分析能力。上述列出的十種方法,提供了基於多個條件有效檢索、彙總或分析資料的不同做法。

  • VLOOKUP 和 LOOKUP 是傳統函數,提供簡單直接的查找方式,但在處理複雜條件時可能有其限制。
  • INDEX + MATCH 和 OFFSET + MATCH 提供更高彈性,讓你可以處理陣列並執行查找,而不必受限於第一欄。
  • SUM、SUMIFS 和 SUMPRODUCT 讓你能依多個條件彙總資料,對財務或績效資料分析特別有用。
  • DSUM 適合用於資料庫式操作,當條件範圍明確定義時特別合適。
  • 最後,像 MAX 這類函數可以在特定條件下找出最高值,這在績效評估等情境常常很重要。

掌握這些技巧可簡化工作流程、減少錯誤,並建立更具彈性的試算表以因應不同資料需求。無論處理簡單資料集或複雜資料庫,這些公式都能助你更有效率地萃取有意義的見解。

歡迎在自己的試算表中嘗試這些方法,以加深理解並找出最適合你需求的做法!

A0006


全面的技術支援解決方案

我們提供一系列技術支援解決方案,以滿足您的需求。
讓我們來探索我們的主要服務:

man and woman wearing headphones while working in the office

這是您隨時可以獲得的服務,專注於Microsoft Excel、Word和PowerPoint的即時協助。如果您在工作中遇到困難,只需通過WhatsApp發送您的問題給我們。我們將迅速幫助您解決問題!

serious diverse students looking at laptop

加入我們的「網上學習群組」Facebook頁面!我們提供超過200個教程,擁有豐富的教學視頻庫。您可以隨時隨地按照自己的步調學習,探索各種主題!

woman in yellow blazer doing a presentation

通過我們量身定制的企業培訓計劃提升您團隊的技能。我們提供全面的培訓課程,旨在滿足您組織的需求,為員工提供最新的工具,以助其卓越表現。