目錄
Excel索引與多個標準匹配
索引與多個標準匹配 - 公式示例
該公式如何工作
具有多個標準的非陣列索引匹配公式
索引與行和列中的多個標準匹配
帶有多個標準的矩陣查找 - 公式示例
練習工作簿下載
首頁 專題 excel Excel索引與多個標準匹配 - 公式示例

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

Apr 02, 2025 am 09:29 AM

本教程顯示瞭如何使用索引和匹配以及其他幾種方式在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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1653
14
CakePHP 教程
1413
52
Laravel 教程
1304
25
PHP教程
1251
29
C# 教程
1224
24
如何將日曆添加到Outlook:共享,Internet日曆,ICAL文件 如何將日曆添加到Outlook:共享,Internet日曆,ICAL文件 Apr 03, 2025 am 09:06 AM

本文介紹瞭如何在Outlook Desktop應用程序中訪問和利用共享日曆,包括導入Icalendar文件。 以前,我們介紹了分享您的Outlook日曆。 現在,讓我們探索如何查看與之共享的日曆

如何使用示例使用Flash Fill ofecl 如何使用示例使用Flash Fill ofecl Apr 05, 2025 am 09:15 AM

本教程為Excel的Flash Fill功能提供了綜合指南,這是一種可自動化數據輸入任務的強大工具。 它涵蓋了從定義和位置到高級用法和故障排除的各個方面。 了解Excel的FLA

Excel中的中位公式 - 實際示例 Excel中的中位公式 - 實際示例 Apr 11, 2025 pm 12:08 PM

本教程解釋瞭如何使用中位功能計算Excel中數值數據中位數。 中位數是中心趨勢的關鍵度量

Excel共享工作簿:如何為多個用戶共享Excel文件 Excel共享工作簿:如何為多個用戶共享Excel文件 Apr 11, 2025 am 11:58 AM

本教程提供了共享Excel工作簿,涵蓋各種方法,訪問控制和衝突解決方案的綜合指南。 現代Excel版本(2010年,2013年,2016年及以後)簡化了協作編輯,消除了M的需求

如何在Excel中拼寫檢查 如何在Excel中拼寫檢查 Apr 06, 2025 am 09:10 AM

該教程展示了在Excel中進行拼寫檢查的各種方法:手動檢查,VBA宏和使用專用工具。 學習檢查單元格,範圍,工作表和整個工作簿中的拼寫。 雖然Excel不是文字處理器,但它的spel

Excel中的絕對值:ABS功能與公式示例 Excel中的絕對值:ABS功能與公式示例 Apr 06, 2025 am 09:12 AM

本教程解釋了絕對價值的概念,並演示了ABS函數的實用Excel應用,以計算數據集中的絕對值。 數字可能是正面的或負數的,但有時只有正值是需要的

Excel:組行自動或手動,崩潰並擴展行 Excel:組行自動或手動,崩潰並擴展行 Apr 08, 2025 am 11:17 AM

本教程演示瞭如何通過對行進行分組來簡化複雜的Excel電子表格,從而使數據易於分析。學會快速隱藏或顯示行組,並將整個輪廓崩潰到特定的級別。 大型的詳細電子表格可以是

Google電子表格Countif函數帶有公式示例 Google電子表格Countif函數帶有公式示例 Apr 11, 2025 pm 12:03 PM

Google主張Countif:綜合指南 本指南探討了Google表中的多功能Countif函數,展示了其超出簡單單元格計數的應用程序。 我們將介紹從精確和部分比賽到Han的各種情況

See all articles