Inhoudsopgave
Het werken met een groot aantal gegevens leidt tot het produceren van meerdere resultaten. In Excel is er een zeer handige manier om meerdere resultaten te extraheren. In dit artikel laten we u zien hoe u de INDEX-MATCH formule in Excel om meerdere resultaten te genereren.
Praktijksjabloon downloaden
U kunt het gratis oefensjabloon in Excel hier downloaden en zelf oefenen.
INDEX MATCH Meerdere resultaten.xlsx4 nuttige manieren om de functies INDEX & MATCH samen in Excel te implementeren om meerdere resultaten te verkrijgen.
In dit deel zal het gebruik van de INDEX-functie en de MATCH-functie samen in Excel om meerdere resultaten te krijgen.
1. Meerdere resultaten vinden in een matrix met de INDEX MATCH formule in Excel
Beschouw de volgende dataset, waarin we de verschillende cijfers van studenten van verschillende examens wilden vinden.
Dat kunnen we krijgen door een INDEX-MATCH formule in ons werkblad.
Stappen om de meerdere resultaten in een set van een matrix te vinden met behulp van INDEX-MATCH functies worden hieronder gegeven.
Stappen:
- Kies een naam uit de dataset ( B5:B11 ) en zet de naam in een andere cel om later het referentienummer van de cel te gebruiken (bijv. naam Villiers in Cel G4 ).
- In een andere cel die u als resultaatcel wilt hebben (bijv. Cel G7 ), schrijf de volgende formule,
=INDEX($C$5:$C$11,SMALL(IF(ISNUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11),ROW($B$5:$B$11)),"",ROWS($A$1:A1))
Hier,
$C$5:$C$11 = de array om de opzoekwaarde te zoeken
$B$5:$B$11 = de array waar de opzoekwaarde is
- Druk op Ga naar .
U zult merken dat het resultaat voor de gegevens (bijv. Villiers ) die u in de geselecteerde cel zet ( G4 ), verschijnt in de resultaatcel (bijv. 65 in G7 ).
- Sleep nu de rij naar beneden door Vulgreep om de rest van je resultaten van diezelfde zoekwaarde te krijgen.
Aangezien dit proces niet constant is voor een specifieke waarde, kunt u elke willekeurige opzoeking in de geselecteerde cel kiezen (bijv. G4 ) en het resultaat voor die specifieke gegevens wordt automatisch bijgewerkt in de resultaatcel (bijv. G7 ).
Om meer te begrijpen zie de onderstaande gif.
Formule Breakdown:
Laten we de formule opsplitsen om te begrijpen hoe we het resultaat kregen.
- MATCH($B$5:$B$11, $G$4, 0) wordt,
-> MATCH({"Flintoff"; "Ronaldo"; "Plessis"; "Villiers"; "Beckham"; "Villiers"; "Plessis"}, "Villiers", 0)
-> Uitgang: {#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}
Uitleg: Als de zoekwaarde een overeenkomst vindt in de lookup array, dan wordt de MATCH functie retourneert 1 anders geeft het #N/A .
- ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) wordt,
-> ISNUMBER({#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})
-> Uitvoer: {FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}.
Uitleg: Als de IF-functie kan geen foutwaarden verwerken, dus de functie ISNUMBER wordt hier gebruikt om de arraywaarden om te zetten in Booleaanse waarden.
- ALS(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "") wordt,
-> IF({FALSE; FALSE; FALSE; TRUE; FALSE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "")
wordt
-> IF({FALSE; FALSE; FALSE; TRUE; FALSE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, "")
-> Uitvoer: {""; ""; ""; 4; ""; 6}
Uitleg: Ten eerste, de ALS De functie zet de Booleaanse waarden om in rijnummers en spaties. Later zal de MATCH en de ROW-functie s berekenen een array met opeenvolgende getallen, van 1 tot n, waarbij n de laatste numerieke identiteit is van de totale grootte van het celbereik. Als $B$5:$B$11 heeft 7 waarden, dus de array wordt {1; 2; 3; 4; 5; 6; 7} .
- SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1)) wordt
-> SMALL({""; ""; ""; 4; ""; 6}, RIJEN($A$1:A1))
-> SMALL({""; ""; ""; 4; ""; 6}, 1)
-> Uitgang: 4
Uitleg: Eerst, de KLEINE functie bepaalt welke waarde hij krijgt op basis van het rijnummer. Vervolgens wordt de Rijen De functie geeft een getal terug dat verandert elke keer dat de cel wordt gekopieerd en geplakt naar de cellen eronder. Aanvankelijk gaf de functie 4 volgens onze dataset. In de volgende cel hieronder, ROWS($A$1:A1) veranderingen in ROWS($A$1:A2) en retourneert 6 .
- INDEX($C$5:$C$11, SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1)) wordt
-> INDEX($C$5:$C$11, 4)
-> Output: 65
Uitleg: De INDEX functie geeft een waarde terug uit een gegeven matrix op basis van een rij- en kolomnummer. De 4e waarde in de array $C$5:$C$11 is 65 dus de INDEX functie retourneert 65 in de cel G7 .
Lees meer: IF met INDEX-MATCH in Excel (3 geschikte benaderingen)
2. Vind de meerdere resultaten van de naam en de datum van het komende evenement met de formule INDEX MATCH in Excel.
Soms vergeten we de datum van belangrijke gebeurtenissen. In dat geval is de INDEX MATCH functies werken als de redders.
Hieronder vindt u de voorbeeldgegevens waarbij we de komende verjaardag van onze vrienden wilden weten.
Dus, wat we deden was, een INDEX MATCH formule om uit te zoeken wiens verjaardag de volgende is en wanneer dat is.
Dus, de formule om de naam van de persoon of de naam van de komende gebeurtenis te weten is,
=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)
En de formule om de datum van de komende gebeurtenis te weten is,
=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)
Formule Breakdown:
Laten we de formule afbreken om te begrijpen hoe we achter de naam Alex en de datum van zijn verjaardag zijn gekomen.
- MATCH(F5,$C$5:$C$9,1)
-> Uitgang: 4
Uitleg: De MATCH De functie vindt de positie van de lookup-waarde ( Cel F5 = Donderdag 11 november 2021 ) in de matrixconstante ( $C$5:$C$9 = de lijst van de data ).
In dit voorbeeld wilden we geen exacte overeenkomst, we wilden de MATCH functie om een benaderende overeenkomst terug te geven, dus stellen we het derde argument in op 1 (of WARE ).
- INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1) wordt
-> INDEX($B$5:$B$9, 4) +1)
-> Uitvoer: Alex /(De naam van het evenement)
Uitleg: De INDEX De functie neemt twee argumenten om een specifieke waarde in een eendimensionaal bereik terug te geven. Hier is het bereik $B$5:$B$9 is eerst het argument en het resultaat dat we hadden van de berekening in de vorige paragraaf (MATCH(F5,$C$5:$C$9,1)) , positie 4 is het tweede argument. Dat betekent dat we zoeken naar de waarde op positie 4 in de $B$5:$B$9 bereik.
En,
- INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) wordt
-> INDEX($B$5:$B$9, 4) +1)
-> Uitvoer: dinsdag 7 december 2021
Uitleg: De INDEX De functie neemt twee argumenten om een specifieke waarde in een eendimensionaal bereik terug te geven. Hier is het bereik $C$5:$C$9 is eerst het argument en het resultaat dat we hadden van de berekening in de vorige paragraaf (MATCH(F5,$C$5:$C$9,1)) positie 4 is het tweede argument. Dat betekent dat we zoeken naar de waarde op positie 4 in de $C$5:$C$9 bereik.
Om de komende evenementdatum te krijgen, voegen we er één toe aan de celpositie die de MATCH functie, en die gaf ons de celpositie van de volgende gebeurtenisdatum.
Lees meer: Excel INDEX-MATCH formule om meerdere waarden horizontaal terug te geven
Vergelijkbare lezingen
- INDEX MATCH meerdere criteria met jokerteken in Excel (een complete gids)
- [Fixed!] INDEX MATCH geeft niet de juiste waarde in Excel (5 redenen)
- Hoe INDEX MATCH gebruiken in plaats van VLOOKUP in Excel (3 manieren)
- INDEX+MATCH met dubbele waarden in Excel (3 snelle methoden)
- Specifieke gegevens selecteren in Excel (6 methoden)
3. Genereer meerdere resultaten in afzonderlijke kolommen met de INDEX MATCH formule in Excel.
Tot nu toe kregen we de resultaten per rij. Maar wat als je de resultaten wilt krijgen in afzonderlijke kolommen .
Beschouw de volgende dataset, die bestaat uit drie soorten beroepen die meerdere namen van mensen vertegenwoordigen.
We wilden een groep mensen maken op basis van het beroep en we wilden de namen plaatsen kolomgewijs volgens hun beroep.
Om meerdere wedstrijdresultaten in afzonderlijke cellen in afzonderlijke kolommen uit te pakken, kunt u een trucje toepassen met de INDEX functie.
Laten we leren hoe we in Excel meerdere wedstrijdresultaten in meerdere kolommen kunnen extraheren met een combinatie van INDEX functies en andere.
Stappen:
- Kies een beroep uit het gegevensbereik ( B5:B11 ) en zet de gegevens in een andere cel om later het referentienummer van de cel te gebruiken (bijv. beroep Cricketer in Cel E5 ).
- In een andere cel die u als resultaatcel wilt hebben (bijv. Cel F5 ), schrijf de volgende formule,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5)),"")
Hier,
$C$5:$C$11 = de array om de opzoekwaarde te zoeken
$B$5:$B$11 = de array waar de opzoekwaarde is
- Druk op Ga naar .
U zult merken dat het resultaat voor de gegevens (bijv. Cricketers ) die u in de geselecteerde cel zet ( E5 ), verschijnt in de resultaatcel (bijv. Flintoff in Cel F5 ).
- Sleep nu de rij rond door Vulgreep om de rest van je resultaten van diezelfde lookup-waarde in aparte meervoudige kolommen te krijgen.
- Sleep de rij opnieuw met Vulgreep om de rest van je resultaten van verschillende opzoekwaarden te krijgen (bijv. Voetballer, Worstelaars ) in afzonderlijke meervoudige kolommen.
Formule Breakdown:
Laten we de formule opsplitsen om te begrijpen hoe we het resultaat kregen.
- SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))
Uit de vorige bespreking weten we al hoe KLEIN, ALS en ROW functies samenwerken, en we gebruiken die truc hier ook om een rijnummer te genereren dat overeenkomt met een N-de overeenkomst. Zodra we het rijnummer hebben, geven we het gewoon door aan de INDEX functie die de waarde bij die rij teruggeeft.
-> Uitgang: ( zoals de foto hieronder )
- INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5)) -> het doorgeven van de rijnummers aan de INDEX functie om de waarde voor overeenkomstige rijnummers te extraheren.
-> Uitgang: ( zoals de foto hieronder )
- IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5)),"") -> merk op dat wanneer kolommen een waarde teruggeven die niet bestaat, het een #NUM fout. Om de fout te voorkomen, omwikkelen we de hele formule met de IFERROR-functie om fouten op te vangen en een lege tekenreeks ("") als terugkeer.
-> Uitgang: ( zoals de foto hieronder )
Lees meer: Excel INDEX MATCH om meerdere waarden in één cel terug te geven
4. Meerdere resultaten uitpakken in afzonderlijke rijen met behulp van INDEX MATCH-functies in Excel
Als u zich afvraagt hoe u meerdere resultaten in meerdere rijen kunt opnemen op dezelfde manier als in het vorige deel, dan is de formule,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1),RWS($E$5:E5)),"")
En alle andere details zoals Stappen en Formuleverdeling zijn dezelfde als in sectie 3.
Belangrijke punten die u in gedachten moet houden
- Aangezien het bereik van de array van de gegevenstabel om de waarde te zoeken vast is, moet u niet vergeten de dollar ($) teken voor het celreferentienummer van de matrixtabel.
- Wanneer u met matrixwaarden werkt, vergeet dan niet op Ctrl + Shift + Enter op uw toetsenbord tijdens het extraheren van resultaten. Als u alleen op Ga naar werkt alleen als u Microsoft 365 .
- Na het indrukken van Ctrl + Shift + Enter ziet u dat de formulebalk de formule insluit in accolades {} en verklaart het als een matrixformule. Typ niet die haakjes zelf, Excel doet dit automatisch voor u.
Conclusie
In dit artikel wordt in detail uitgelegd hoe u INDEX MATCH functies om meerdere resultaten in Excel te extraheren. Ik hoop dat dit artikel nuttig voor u is geweest. Voel u vrij om vragen te stellen als u vragen hebt over het onderwerp.