搜尋
首頁專題excelExcel索引與多個標準匹配 - 公式示例

本教程顯示瞭如何使用索引和匹配以及其他幾種方式在Excel中使用多個標準查找。

儘管Microsoft Excel為垂直和水平查找提供了特殊功能,但專家用戶通常會用索引匹配替換它們,這在許多方面都優於vlookup和hlookup。除其他外,它可以在列和行中查找兩個或多個標準。本教程詳細說明了語法和內部力學,以便您可以輕鬆地調整特定需求的公式。為了使示例更容易遵循,歡迎您下載我們的示例工作簿。

Excel索引與多個標準匹配

在使用大型數據庫時,您有時可能會發現自己需要找到某些東西,但沒有唯一的搜索標識符。在這種情況下,有幾種條件的查找是唯一的解決方案。

要根據單獨列中的多個標準查找值,請使用此通用公式:

{= index( return_range ,match(1,( criteria1 = range1 ) *( criteria2 = range2 ) *(…),0)}}}}

在哪裡:

  • return_range是返回值的範圍。
  • 標準1標準2 ,…是要滿足的條件。
  • Range1Range2 ,…是應測試相應標準的範圍。

重要說明!這是一個數組公式,必須在Ctrl Shift Enter中完成。這將使您的公式包含在{curly brokkets}中,這是Excel中數組公式的視覺跡象。不要嘗試手動鍵入牙套,那將行不通!

公式是標誌性索引匹配的高級版本,該版本根據單個標準返回匹配項。為了評估多個標準,我們使用在數組公式中用作和運算符的乘法操作。下面,您將找到一個現實生活中的示例和邏輯的詳細說明。

提示。在Excel 365和2021中,您可以使用具有多個標準的Xlookup公式。

索引與多個標準匹配 - 公式示例

在此示例中,我們將在其自己的行上使用所謂的“扁平文件”格式中的表格(在我們的情況下為月度數字)。我們的目標是在特定地區和月份中檢索某些項目的銷售數字。

借助以下單元格中的源數據和標準:

  • return_range (銷售)-D2:D13
  • 標準1 (目標區域)-G1
  • 標準2 (目標月)-G2
  • 標準3 (目標項目)-G3
  • Range1 (區域)-A2:A13
  • 範圍2 (月)-B2:B13
  • 範圍3 (項目)-C2:C13

該公式採用以下形狀:

=INDEX(D2:D13, MATCH(1, (G1=A2:A13) * (G2=B2:B13) * (G3=C2:C13), 0))

輸入公式,例如在G4中,通過按CTRL Shift Enter來完成它,您將獲得以下結果:

Excel索引與多個標準匹配 - 公式示例

該公式如何工作

最棘手的部分是匹配功能,所以讓我們首先弄清楚:

MATCH(1, (G1=A2:A13) * (G2=B2:B13) * (G3=C2:C13), 0))

您可能還記得,匹配(lookup_value,lookup_array,[match_type])在查找數組中搜索查找值,並在數組中返回該值的相對位置。

在我們的公式中,論點如下:

  • Lookup_value :1
  • Lookup_array :( g1 = a2:a13) *(g2 = b2:b13) *(g3 = c2:c13)
  • match_type :0

第1參數是晶體清晰的 - 函數搜索數字1。設置為0的3 rd參數表示“精確匹配”,即公式返回第一個發現的值,該值完全等於查找值。

問題是 - 為什麼我們要搜索“ 1”?要獲取答案,讓我們仔細查看查找陣列,在該陣列中,我們將每個標準與相應的範圍進行比較:G1中的目標區域與所有區域(A2:A13)(A2:A13),G2中的目標月對所有月份(B2:B13)和G3中的目標項目(C2:C2:C13)。中間結果是3個真實和錯誤的陣列,而true表示滿足已測試條件的值。要可視化這一點,您可以在公式中選擇單個表達式,然後按F9鍵查看每個表達式評估的內容:

Excel索引與多個標準匹配 - 公式示例

乘法操作分別將真實值和錯誤值分別轉換為1和0:

{1;1;1;1;1;1;0;0;0;0;0;0} * {0;0;1;1;0;0;0;0;1;1;0;0} * {1;0;1;0;1;0;1;0;1;0;1;0}

而且由於乘以0總是給出0,因此結果數組僅在滿足所有標準的行中只有1個:

{0;0;1;0;0;0;0;0;0;0;0;0}

上面的數組轉到匹配的Lookup_array參數。使用Lookup_value為1,該函數返回所有標準為真的行的相對位置(在我們的情況下第3行)。如果數組中有幾個1,則返回第一個位置。

匹配返回的數字直接轉到索引的row_num參數(array,row_num,[column_num])函數:

=INDEX(D2:D13, 3)

它產生的結果為$ 115,這是D2:D13數組中的3 rd值。

具有多個標準的非陣列索引匹配公式

上一個示例中討論的陣列公式適合經驗豐富的用戶。但是,如果您正在為他人建立一個公式,並且某人不知道數組功能,他們可能會無意中打破它。例如,用戶可以單擊您的公式檢查它,然後按Enter而不是Ctrl Shift Enter 。在這種情況下,明智的做法是避免陣列並使用更具防彈性的常規公式:

index( return_range ,match(1,index(( criteria1 = range1 ) *( criteria2 = range2 ) *(..),0,1),0),0))

對於我們的示例數據集,公式如下:

=INDEX(D2:D13, MATCH(1, INDEX((G1=A2:A13) * (G2=B2:B13) * (G3=C2:C13), 0, 1), 0))

Excel索引與多個標準匹配 - 公式示例

該公式如何工作

由於索引函數可以本地處理數組,因此我們添加了另一個索引來處理1和0的數組,該數組是通過乘以兩個或多個true/false數組創建的。第二個索引配置為0 row_num參數,以使公式返回整個列數組而不是單個值。由於它是一個單列數組,因此我們可以安全地為Column_num提供1:

INDEX({0;0;1;0;0;0;0;0;0;0;0;0}, 0, 1) returns {0;0;1;0;0;0;0;0;0;0;0;0}

此數組傳遞給匹配功能:

MATCH(1, {0;0;1;0;0;0;0;0;0;0;0;0}, 0)

匹配找到所有標準為真的行(更準確地說,是指定數組中該行的相對位置),並將該編號傳遞給第一個索引的Row_num參數:

=INDEX(D2:D13, 3)

索引與行和列中的多個標準匹配

此示例顯示瞭如何通過在行和列中測試兩個或多個標準來執行查找。實際上,這是一個更複雜的情況,即帶有多個標頭行的所謂“矩陣查找”或“雙向查找”。

這是一行和列中有多個標準的通用索引匹配公式:

{= index( table_array ,match( vlookup_valuelookup_column ,0),match( hlookup_value1hlookup_value2lookup_row1 &lookup_row1& lookup_row2,0 )})}))})

在哪裡:

table_array-在內部搜索的地圖或區域,即所有數據值不包括列和行標頭。

vlookup_value-您在列中垂直尋找的值。

Lookup_column-通常要搜索的列範圍,通常是行標頭。

hlookup_value1,hlookup_value2,… - 在行中水平尋找的值。

Lookup_row1,Lookup_row2,… - 行搜索範圍,通常是列標題。

重要說明!為了使公式正確工作,必須將其作為帶有Ctrl Shift Enter的數組公式輸入。

它是經典的雙向查找公式的變體,該公式在某個行和列的交點處搜索一個值。不同之處在於,您將幾個Hlookup值和範圍串聯以評估多個列標題。為了更好地理解邏輯,請考慮以下示例。

帶有多個標準的矩陣查找 - 公式示例

在下面的示例表中,我們將根據行標頭(項目)和2列標題(區域和供應商)搜索一個值。為了使公式易於構建,讓我們首先定義所有標準和範圍:

  • table_array -b3:e4
  • vlookup_value (目標項目)-H1
  • Lookup_column (行標頭:項目) - A3:A4
  • hlookup_value1 (目標區域)-H2
  • hlookup_value2 (目標供應商)-H3
  • Lookup_row1 (列標題1:區域)-B1:E1
  • Lookup_row2 (列標題2:供應商)-B2:E2

現在,將論點提供到上面解釋的通用公式中,您將獲得此結果:

=INDEX(B3:E5, MATCH(H1,A3:A5,0), MATCH(H2&H3,B1:E1&B2:E2,0))

請記住,通過按CTRL Shift輸入快捷方式來完成該公式,並且您的矩陣查找具有多個標準:將成功完成:

Excel索引與多個標準匹配 - 公式示例

該公式如何工作

當我們垂直和水平搜索時,我們需要為索引(array,row_num,column_num)函數提供行和列號。

ROW_NUM通過Match(H1,A3:A5,0)提供,將H1中的目標項目(蘋果)與A3:A5中的行標頭進行比較。這給出了1的結果,因為“蘋果”是指定範圍中的第一項。

column_num是通過連接2個查找值和2個查找數組來製定的:匹配(H2&H3,B1:E1&B2:E2,0))

成功的關鍵因素是查找值應與列標題完全匹配,並以相同的順序連接。要可視化這一點,請在匹配公式中選擇前兩個參數,請按F9 ,您將看到每個參數評估的內容:

MATCH("NorthVendor 2", {"NorthVendor 1", "NorthVendor 2", "SouthVendor 1", "SouthVendor 2"}, 0)

由於“ Northvendor 2”是陣列中的第二個元素,因此函數返回2。

在這一點上,我們冗長的二維索引匹配公式將其轉換為這個簡單的索引:

=INDEX(B3:E5, 1, 2)

並在b3:e5範圍內的第一行和第二列的相交處返回一個值,該值是單元格C3中的值。

這就是如何查找Excel中的多個標準。我感謝您閱讀,並希望下週在我們的博客上見到您!

練習工作簿下載

Excel索引匹配多個標準(.xlsx文件)

以上是Excel索引與多個標準匹配 - 公式示例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何在Excel中創建時間軸以濾波樞軸表和圖表如何在Excel中創建時間軸以濾波樞軸表和圖表Mar 22, 2025 am 11:20 AM

本文將指導您完成為Excel Pivot表和圖表創建時間表的過程,並演示如何使用它以動態和引人入勝的方式與數據進行交互。 您的數據在Pivo中組織了

如何在Excel中下拉如何在Excel中下拉Mar 12, 2025 am 11:53 AM

本文說明瞭如何使用數據驗證(包括單個和因列表)在Excel中創建下拉列表。 它詳細介紹了該過程,為常見方案提供解決方案,並討論諸如數據輸入限制和PE之類的限制

excel 能否導入 xml 文件excel 能否導入 xml 文件Mar 07, 2025 pm 02:43 PM

Excel可以使用其內置的“來自XML數據導入”功能導入XML數據。 進口成功在很大程度上取決於XML結構。結構良好的文件很容易導入,而復雜的文件可能需要手動映射。 最佳實踐包括XML

如何在Excel中概括一列如何在Excel中概括一列Mar 14, 2025 pm 02:42 PM

本文討論了使用SUM函數,Autosum功能以及如何總和特定單元格中的Excel中總和列的方法。

如何在Excel中製作餅圖如何在Excel中製作餅圖Mar 14, 2025 pm 03:32 PM

本文詳細介紹了在Excel中創建和自定義餅圖的步驟,專注於數據準備,圖表插入和個性化選項,以增強視覺分析。

如何計算excel中的平均值如何計算excel中的平均值Mar 14, 2025 pm 03:33 PM

文章討論使用平均功能在Excel中計算平均值。主要問題是如何有效地將此功能用於不同的數據集。(158個字符)

如何在Excel中製作桌子如何在Excel中製作桌子Mar 14, 2025 pm 02:53 PM

文章討論了Excel中的創建,格式化和自定義表,並使用諸如總和,平均和透視物等功能進行數據分析。

如何在Excel中添加下拉如何在Excel中添加下拉Mar 14, 2025 pm 02:51 PM

文章討論了使用數據驗證在Excel中創建,編輯和刪除下拉列表。主要問題:如何有效管理下拉列表。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。