Hoe INDEX MATCH gebruiken met meerdere criteria voor datumbereik

  • Deel Dit
Hugh West

Variabelen (zoals grondstofprijzen, aandelen, rentetarieven, enz.) die aan data gebonden zijn, veroorzaken paniek bij de bevolking, omdat hun prijzen afhankelijk zijn van data. INDEX MATCH meerdere criteria datumbereik kan prijzen uit een bepaald datumbereik halen.

Laten we zeggen dat we bepaalde producten hebben waarvan de prijzen voor een bepaalde periode stabiel zijn. En we willen INDEX MATCH de prijzen voor de gegeven criteria.

In dit artikel gebruiken we meerdere functies om INDEX MATCH meerdere criteria datumbereik.

Excel-werkboek downloaden

Datumbereik met meerdere criteria.xlsx

3 Eenvoudige manieren om INDEX MATCH te gebruiken voor meerdere criteria van een datumbereik

Methode 1: Gebruik van INDEX MATCH-functies voor meerdere criteria van een datumbereik

We willen de prijs van een bepaald product op een bepaalde datum ophalen. Stel dat we de prijs van een IJs op 02-10-22 ( maand-dag-jaar ). Als de opgegeven datum tussen de aangeboden periode valt, wordt de prijs in een lege cel gehaald.

Stappen: Voeg de volgende formule in een lege cel in (d.w.z, I5 ). Als de formule in een matrixformule, druk op CTRL+SHIFT+ENTER om het toe te passen. De formule geeft onmiddellijk de Product prijs als deze in de gegeven periode daalt (d.w.z, Datum bereik) zoals hieronder afgebeeld.

=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0))

Formula Autopsy:

Excel INDEX functie vindt een waarde van een bepaalde locatie binnen een bepaald bereik. In ons geval gebruiken we de MATCH functie geïnduceerd met de INDEX functie. MATCH functie geeft zijn resultaat door als een rijnummer voor items die aan bepaalde criteria voldoen. De syntaxis van een INDEX functie is

INDEX(array, row_num, [col_num])

In de formule, $E$5$E$16 verwijst naar de array argument. Binnen de MATCH functie $B$5:$B$16=G5 , $D$5:$D$16>=H5 en $C$5:$C$16<=H5 verklaren de criteria. Voor een betere identificatie kleuren we de respectieve bereiken in rechthoeken.

De MATCH functie lokaliseert de positie van een gegeven waarde binnen een rij, kolom of tabel. Zoals we al eerder zeiden, de MATCH gedeelte geeft het rijnummer door voor de INDEX functie. De syntaxis van de MATCH functie is

MATCH (lookup_value, lookup_array, [match_type])

De MATCH gedeelte is

=MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0)

De MATCH deel wijst toe 1 als lookup_waarde , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5) als lookup_array en 0 verklaart de [match_type] als een exacte overeenkomst.

De gebruikte MATCH formule keert terug 3 als het vindt IJs in rijnummer 3 .

In gevallen hebben we meerdere producten om hun prijs uit de dataset te halen. Het ziet er ongeveer uit als de volgende afbeelding,

De INDEX MATCH gecombineerde formule haalt Prijzen als zijn argumenten aan de criteria voldoen. Anders resulteert dit in een #N/A fout zoals in de bovenstaande schermafbeelding.

Lees meer: VBA INDEX MATCH op basis van meerdere criteria in Excel (3 methoden)

Methode 2: XLOOKUP-functie voor meerdere criteria

Vergelijkbaar met Methode 1 kunnen we de XLOOKUP functie (alleen beschikbaar in Excel 365 ) aan INDEX MATCH datumbereik met meerdere criteria. De syntaxis van de XLOOKUP functie is

XLOOKUP (lookup, lookup_array, return_array, [not_found], [match_mode], [search_mode])

Stappen: Gebruik de onderstaande formule in cel I5 dan Hit ENTER .

=XLOOKUP(1,(H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5),$E$5:$E$16,"NotFound")

De XLOOKUP formule geeft de gerespecteerde prijs die voldoet aan de gegeven criteria (d.w.z, Product en Datum ) zoals in bovenstaande afbeelding.

Formula Autopsy:

De XLOOKUP wijst toe 1 als zijn lookup argument, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5) als lookup_array, $E$5:$E$16 als return_array Ook geeft de formule Niet gevonden. Wij geven de toegekende criteria aan in gekleurde rechthoeken zoals in de volgende afbeelding.

Voor meerdere Producten, kunt u de XLOOKUP formule en haalt de prijzen eruit die aan de gegeven criteria voldoen. De formule toont ook Niet gevonden. als de opgegeven datumcriteria niet binnen het opgegeven datumbereik vallen.

U kunt meer criteria toevoegen dan in de formule worden gebruikt. Om eenvoudige en duidelijke scenario's te geven, zijn minimale criteria gebruikt.

Lees meer: XLOOKUP met meerdere criteria in Excel (4 eenvoudige manieren)

Methode 3: INDEX- en AGGREGATE-functies om een volatiele prijs uit een datumbereik te extraheren

Sommige productprijzen (bv. ruwe olie, valuta, enz.) zijn zo volatiel dat ze weken of zelfs dagen fluctueren. We hebben prijzen van een bepaald product in een weekinterval. We willen de prijs voor de gegeven data vinden. Om de prijs voor een gegeven datumbereik te vinden, kunnen we de gecombineerde INDEX GROEP functie. De syntaxis van de GROEP functie is

AGGREGATE (functie_nummer, opties, ref1, ref2)

Stappen: Typ de volgende formule in een lege cel (bijv, E8 ).

=IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/ ((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"")

De 1e prijs van het bepaalde product datum 02-15-22 naar 02-25-22 is $0.84 Er kan een 2e of 3e prijs beschikbaar, maar in het begin houden we ons aan de 1e één.

Formula Autopsy:

In de formule, =IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/ ((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"") ;

AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8)) gedeelte geeft het rijnummer aan de INDEX functie. C$5:C$13 is de array argument van de INDEX functie.

Binnen de GROEP formule,

(B$5:B$13>=F$4)*(B$5:B$13<=F$5) geeft terug. 1 of 0 afhankelijk van of de data van de dataset al dan niet in het bereik vallen.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5)) geeft een array van rijnummers terug afhankelijk van het voldoen aan de datumcriteria. Anders resulteert dit in foutwaarden.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1 als ref1 resulteert in een array van rijnummers omgezet in indexnummers anders in foutwaarden.

ROWS(E$8:E8) als ref2 resulteert in het rijnummer en het is een gemakkelijke manier om het rijnummer te krijgen als u de formule naar beneden toepast.

Het aantal 15 = functie_nummer (d.w.z, KLEIN ), 6 = opties (d.w.z, foutwaarden negeren ). U kunt kiezen uit functie_nummer van 19 verschillende functies en Opties van 8 verschillende opties.

Eindelijk, AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8)) passeert de n-de kleinste indexnummer van een rij die aan de opgegeven criteria voldoet.

Als er een fout optreedt, IFERROR(INDEX...),"") negeert alle soorten fouten en zet ze om in spaties.

➤ Sleep de Vulgreep om andere overeenkomende prijzen op te halen binnen het datumbereik van de criteria. En de IFERROR functie resulteert in lege cellen als de formule op fouten stuit.

Lees meer: VLOOKUP met meerdere criteria inclusief datumbereik in Excel (2 manieren)

Conclusie

In dit artikel demonstreren we verschillende manieren om INDEX MATCH datumbereik met meerdere criteria. We gebruiken functies als INDEX , MATCH . XLOOKUP en GROEP om formules op te stellen die overeenkomen met items die aan de criteria voldoen. Ik hoop dat deze bovenstaande manieren u helpen om met uw situatie om te gaan. Reageer als u verdere vragen heeft of iets toe te voegen heeft.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.