Sådan bruges INDEX MATCH med flere kriterier for datointerval

  • Del Dette
Hugh West

Variabler (f.eks. råvarepriser, aktier, rentesatser osv.), der er afhængige af datoer, får folk til at gå i panik, da deres priser afhænger af datoer. INDEX MATCH flere kriterier datointerval kan udtrække priser fra et givet datointerval.

Lad os sige, at vi har visse produkter, hvis priser er stabile i en vis periode, og at vi ønsker at INDEX MATCH priserne for de givne kriterier.

I denne artikel bruger vi flere funktioner til at INDEX MATCH flere kriterier for datointerval.

Download Excel-arbejdsbog

Datointerval med flere kriterier.xlsx

3 nemme måder at bruge INDEX MATCH på til flere kriterier i datointervallet

Metode 1: Brug af INDEX MATCH-funktioner til flere kriterier i datointervallet

Vi ønsker at udtrække prisen for et bestemt produkt på en bestemt dato. Antag, at vi ønsker at se prisen for en Is 02-10-22 ( måned-dag-år ). Hvis den givne dato falder mellem den tilbudte periode, får vi prisen udtrukket i en tom celle.

Trin: Indsæt følgende formel i en hvilken som helst tom celle (f.eks, I5 ). Som formlen i en array-formel skal du trykke på CTRL+SHIFT+ENTER for at anvende den. Formlen returnerer straks den Produkt prisen, hvis den falder i det givne tidsrum (dvs, Dato område) som vist nedenfor.

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

🔄 Formel Autopsy:

Excel INDEX funktionen finder en værdi på en given placering inden for et givet interval. I vores tilfælde bruger vi MATCH funktion, der fremkaldes med den INDEX funktion. MATCH funktionen sender sit resultat som en række nummer for poster, der opfylder givne kriterier. Syntaksen for en INDEX funktion er

INDEX(array, row_num, [col_num])

I formlen, $E$5$E$16 henviser til den array argument. Inden for den MATCH funktion $B$5:$B$16=G5 , $D$5:$D$16>=H5 , og $C$5:$C$16<=H5 For at give en bedre identifikation farvelægger vi de respektive områder i rektangler.

MATCH funktionen lokaliserer positionen for en given værdi i en række, kolonne eller tabel. Som vi sagde tidligere, kan MATCH del overfører række-nummeret for den INDEX funktionen. Syntaksen for MATCH funktion er

MATCH (opslag_værdi, opslagsarray, [match_type])

MATCH del er

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

MATCH del tildeler 1 som opslagsværdi , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5) som opslagsbatteri , og 0 erklærer den [match_type] som et nøjagtigt match.

Den anvendte MATCH formel returnerer 3 som den finder Is i række nummer 3 .

I tilfælde, hvor vi har flere produkter, skal vi udtrække deres pris fra datasættet. Det ser nogenlunde ud som på følgende billede,

INDEX MATCH kombineret formel henter Priser hvis dens argumenter opfylder kriterierne. I modsat fald resulterer det i en #N/A fejl som vist i ovenstående skærmbillede.

Læs mere: VBA INDEX MATCH baseret på flere kriterier i Excel (3 metoder)

Metode 2: XLOOKUP-funktion til behandling af flere kriterier

Svarende til Metode 1 , kan vi bruge XLOOKUP funktion (kun tilgængelig i Excel 365 ) til INDEX MATCH flere kriterier for datointerval. Syntaksen for XLOOKUP funktion er

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

Trin: Brug nedenstående formel i celle I5 derefter Tryk på INDTAST .

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

XLOOKUP formlen returnerer den respekterede pris, der opfylder de givne kriterier (dvs, Produkt og Dato ) som vist på billedet ovenfor.

🔄 Formel Autopsy:

XLOOKUP tildeler 1 som sin opslag argument, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5) som lookup_array, $E$5:$E$16 som return_array Formlen viser også Ikke fundet tekst, hvis posterne ikke falder inden for datointervallet. Vi angiver de tildelte kriterier i farvede rektangler som vist i det følgende billede.

For flere Produkter, kan du anvende XLOOKUP formel og udtrække priserne, når de opfylder de givne kriterier. Formlen viser også Ikke fundet hvis de angivne datokriterier ikke udvides inden for det angivne datointerval.

Du kan tilføje flere kriterier end dem, der er anvendt i formlen. For at give enkle og overskuelige scenarier er der anvendt et minimum af kriterier.

Læs mere: XLOOKUP med flere kriterier i Excel (4 nemme måder)

Metode 3: INDEX- og AGGREGATE-funktioner til at udtrække en volatil pris fra datointerval

Nogle produktpriser (f.eks. råolie, valuta osv.) er så volatile, at de svinger i uger eller endda dage. Vi har priserne på et bestemt produkt i et uges interval. Vi ønsker at finde prisen for de givne datoer. For at finde prisen for et givet datointerval kan vi bruge den kombinerede INDEX AGGREGAT funktionen. Syntaksen for AGGREGAT funktion er

AGGREGATE (function_num, options, ref1, ref2)

Trin: Indtast følgende formel i en tom celle (dvs, E8 ).

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

1. prisen på det pågældende produkt dato 02-15-22 til 02-25-22 er $0.84 . Der kan være en 2. eller 3. pris til rådighed, men i første omgang holder vi os til den 1. en.

🔄 Formel Autopsy:

I formlen, =IFERROR(INDEX(C$5:C$13,AGGREGAT(15,6, RÆKKE(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)))) del giver række-nummeret til INDEX funktion. C$5:C$13 er den array argumentet i den INDEX funktion.

Inde i AGGREGAT formel,

(B$5:B$13>=F$4)*(B$5:B$13<=F$5) returnerer 1 eller 0 afhængigt af, om datasættets datoer falder inden for intervallet eller ej.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5)) returnerer et array af rækkenumre afhængigt af, om datokriterierne er opfyldt. Ellers resulterer det i fejlværdier.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1 som ref1 resulterer i et array af rækkenumre, der konverteres til indeksnumre, ellers i fejlværdier.

RÆKKER(E$8:E8) som ref2 resulterer i rækketal, og det er en nem måde at få rækketal på, når du anvender formlen nedad.

Antallet 15 = funktion_nummer (dvs, SMALL ), 6 = muligheder (dvs, ignorere fejlværdier ). Du kan vælge funktion_nummer fra 19 forskellige funktioner og Indstillinger fra 8 forskellige muligheder.

Endelig, 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)))) passerer den nth mindste indeksnummer for en række, der opfylder de givne kriterier.

Hvis der opstår en fejl, IFERROR(INDEX...),"") ignorerer alle typer af fejl og omdanner dem til tomme felter.

➤ Træk i den Håndtag til påfyldning for at hente andre matchede priser inden for kriteriets datointerval. Og IFERROR funktionen resulterer i tomme celler, hvis formlen støder på fejl.

Læs mere: VLOOKUP med flere kriterier, herunder datointerval i Excel (2 måder)

Konklusion

I denne artikel demonstrerer vi flere måder at INDEX MATCH flere kriterier for datointerval. Vi bruger funktioner som INDEX , MATCH . XLOOKUP , og AGGREGAT til at danne formler, der indekserer matchposter, som opfylder kriterierne. Jeg håber, at disse ovennævnte måder hjælper dig med at håndtere din situation. Kommentér, hvis du har yderligere spørgsmål eller har noget at tilføje.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.