INDEX a MATCH ve více sloupcích
Chcete-li vyhledat hodnotu porovnáním ve více sloupcích, použijte maticový vzorec založený na INDEX a MATCH funkce, které obsahuje MMULT, PŘEMÍSTIT a SLOUPEK udělá vám laskavost.
Jak vyhledat hodnotu porovnáním ve více sloupcích?
Chcete -li vyplnit odpovídající třída každého studenta jak ukazuje výše uvedená tabulka, kde informace jsou uvedeny ve více sloupcích, můžete nejprve použít trik funkcí MMULT, TRANSPOSE a COLUMN k vytvoření maticového pole. Potom vám funkce MATCH dá pozici vaší vyhledávací hodnoty, která bude přivedena do INDEXU, aby načetla hodnotu, kterou hledáte v poli.
Obecná syntaxe
=INDEX(return_range,(MATCH(1,MMULT(--(lookup_array=lookup_value),TRANSPOSE(COLUMN(lookup_array)^0)),0)))
√ Poznámka: Toto je maticový vzorec, který vyžaduje zadání pomocí Ctrl + směna + vstoupit.
- rozsah_vrácení: Rozsah, ze kterého má vzorec vrátit informace o třídě. Zde se odkazuje na rozsah třídy.
- vyhledávací_hodnota: Hodnota, kterou vzorec použil k nalezení odpovídajících informací o třídě. Zde odkazuje na křestní jméno.
- vyhledávací_pole: Rozsah buněk, kde lookup_value je uvedena; Rozsah s hodnotami, které se mají porovnat s lookup_value. Zde se odkazuje na rozsah názvů.
- match_type 0: Nutí MATCH najít první hodnotu, která se přesně rovná lookup_value.
Najděte třída Jimmyho, zkopírujte nebo zadejte vzorec níže do buňky H5 a stiskněte Ctrl + směna + vstoupit získat výsledek:
= INDEX ($ B $ 5: $ B $ 7,(SHODA(1,MMULT(--(5 $ C$: 7 $ E$=G5),TRANSPOSE(COLUMN(5 $ C$: 7 $ E$)^0)),0)))
√ Poznámka: Výše uvedené znaky dolaru ($) označují absolutní odkazy, což znamená, že rozsahy názvů a tříd ve vzorci se při přesunutí nebo zkopírování vzorce do jiných buněk nezmění. Všimněte si, že byste neměli přidávat znaky dolaru k odkazu na buňku, který představuje vyhledávací hodnotu, protože chcete, aby byla relativní, když ji kopírujete do jiných buněk. Po zadání vzorce přetáhněte úchyt výplně dolů a použijte vzorec na níže uvedené buňky.
Vysvětlení vzorce
=INDEX($B$5:$B$7,(MATCH(1,MMULT(--($C$5:$E$7=G5),TRANSPOSE(COLUMN($C$5:$E$7)^0)),0)))
- ---($C$5:$E$7=G5): Tento segment kontroluje každou hodnotu v rozsahu 5 $ C$: 7 $ E$ pokud se rovnají hodnotě v buňce G5 a vygeneruje pole TRUE a FALSE takto:
{TRUE,FALSE,FALSE;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE}.
Dvojitý zápor pak převede hodnoty TRUEs a FALSE na 1s a 0s, aby vzniklo pole, jako je toto:
{1,0,0; 0,0,0; 0,0,0}. - COLUMN($C$5:$E$7): Funkce COLUMN vrací čísla sloupců pro rozsah 5 $ C$: 7 $ E$ v poli jako je toto: 3,4,5 {}.
- PŘEMÍSTIT(COLUMN($C$5:$E$7)^0) = PŘEMÍSTIT(3,4,5 {}^0): Po zvýšení výkonu na 0 budou všechna čísla v poli {3,4,5} převedena na 1: {1,1,1}. Funkce TRANSPOSE pak převede sloupcové pole na řádkové pole takto: {1; 1; 1}.
- MMULT(---($C$5:$E$7=G5),PŘEMÍSTIT(COLUMN($C$5:$E$7)^0)) = MMULT({1,0,0; 0,0,0; 0,0,0},{1; 1; 1}): Funkce MMULT vrací maticový součin dvou polí takto: {1; 0; 0}.
- MATCH (1,MMULT(---($C$5:$E$7=G5),PŘEMÍSTIT(COLUMN($C$5:$E$7)^0)), 0) = MATCH (1,{1; 0; 0}, 0): Typ shody 0 přinutí funkci MATCH vrátit pozici první shody 1 v poli {1; 0; 0}, který je 1.
- INDEX($ B $ 5: $ B $ 7,(MATCH(1;MMULT(---($C$5:$E$7=G5),PŘEMÍSTIT(COLUMN($C$5:$E$7)^0)), 0))) = INDEX ($ B $ 5: $ B $ 7,1): Funkce INDEX vrací 1st hodnota v rozsahu třídy $ B $ 5: $ B $ 7, který je A.
Chcete-li snadno vyhledat hodnotu pomocí shody ve více sloupcích, můžete také použít náš profesionální doplněk Excel Kutools For Excel. Pro splnění mise si prohlédněte instrukce zde.
Související funkce
Funkce Excel INDEX vrací zobrazenou hodnotu na základě dané pozice z rozsahu nebo pole.
Funkce Excel MATCH vyhledá konkrétní hodnotu v rozsahu buněk a vrátí relativní polohu hodnoty.
Funkce Excel MMULT vrací maticový součin dvou polí. Výsledek pole má stejný počet řádků jako pole1 a stejný počet sloupců jako pole2.
Funkce Excel TRANSPOSE otočí orientaci rozsahu nebo pole. Může například otáčet tabulku uspořádanou vodorovně do řádků na svislou ve sloupcích nebo naopak.
Funkce COLUMN vrátí číslo sloupce, ve kterém se vzorec objeví, nebo vrátí číslo sloupce daného odkazu. Například vzorec =COLUMN(BD) vrátí 56.
Související vzorce
Vyhledávání podle více kritérií s INDEX a MATCH
Když pracujete s velkou databází v tabulce aplikace Excel s několika sloupci a titulky, je vždy obtížné najít něco, co splňuje více kritérií. V tomto případě můžete použít maticový vzorec s funkcemi INDEX a MATCH.
Obousměrné vyhledávání s INDEX a MATCH
Chcete -li něco vyhledat v řádcích a sloupcích v aplikaci Excel nebo řekneme, že chceme vyhledat hodnotu na průsečíku konkrétního řádku a sloupce, můžeme použít funkce INDEX a MATCH.
Vyhledejte nejbližší hodnotu shody s více kritérii
V některých případech možná budete muset vyhledat nejbližší nebo přibližnou hodnotu shody na základě více než jednoho kritéria. Díky kombinaci funkcí INDEX, MATCH a IF to v Excelu rychle zvládnete.
Nejlepší kancelářské nástroje produktivity
Kutools for Excel - Pomáhá vám vyčnívat z davu
Kutools for Excel Může se pochlubit více než 300 funkcemi, Zajištění toho, že to, co potřebujete, je jen jedno kliknutí...

Office Tab - Povolit čtení a úpravy na kartách v Microsoft Office (včetně Excelu)
- Jednu sekundu přepnete mezi desítkami otevřených dokumentů!
- Snižte stovky kliknutí myší každý den, sbohem s myší rukou.
- Zvyšuje vaši produktivitu o 50% při prohlížení a úpravách více dokumentů.
- Přináší efektivní karty do Office (včetně Excelu), stejně jako Chrome, Edge a Firefox.
