Slik bruker du INDEX MATCH med flere kriterier for datoperiode

  • Dele Denne
Hugh West

Variabler (som råvarepris, aksjer, rente osv.) underlagt datoer forårsaker panikk hos folk, siden prisene deres avhenger av datoer. INDEX MATCH datoperiode med flere kriterier kan trekke ut priser fra en gitt datoperiode.

La oss si at vi har visse produkter med stabile priser i en viss tidsperiode. Og vi ønsker å INDEKS MATCH prisene for de gitte kriteriene.

I denne artikkelen bruker vi flere funksjoner for å INDEKS MATCH datoperiode for flere kriterier.

Last ned Excel-arbeidsbok

Datoområde for flere kriterier.xlsx

3 enkle måter å bruke INDEX MATCH for flere kriterier for datoperiode

Metode 1: Bruke INDEX MATCH-funksjoner for flere kriterier for datoperiode

Vi vil å trekke ut prisen for et bestemt produkt på en bestemt dato. Anta at vi ønsker å se prisen på en is 02-10-22 ( måned-dag-år ). Hvis den gitte datoen faller mellom den tilbudte tidsperioden, vil vi få prisen trukket ut i en hvilken som helst tom celle.

Trinn: Sett inn følgende formel i en hvilken som helst tom celle (dvs. I5 ). Som formel i en matriseformel, trykk CTRL+SHIFT+ENTER for å bruke den. Formelen returnerer umiddelbart Produkt -prisen hvis den faller i den gitte tidsperioden (dvs. Dato -intervallet) 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))

🔄 Formelobduksjon:

Excel INDEKS -funksjonen finner en verdi for en gitt plassering innenfor et gitt område. I vårt tilfelle bruker vi MATCH -funksjonen indusert med INDEKS -funksjonen. Funksjonen MATCH sender resultatet som et radnummer for oppføringer som tilfredsstiller gitte kriterier. Syntaksen til en INDEKS -funksjon er

INDEX(array, row_num, [col_num])

I formelen refererer $E$5$E$16 til argumentet array . Inne i MATCH -funksjonen erklærer $B$5:$B$16=G5 , $D$5:$D$16>=H5 og $C$5:$C$16<=H5 kriteriene. For å gi bedre identifikasjon farger vi respektive områder i rektangler.

MATCH -funksjonen lokaliserer posisjonen til en gitt verdi innenfor en rad, kolonne eller tabell. Som vi sa tidligere, passerer MATCH -delen radnummeret for INDEKS -funksjonen. Syntaksen til MATCH -funksjonen er

MATCH (lookup_value, lookup_array, [match_type])

MATCH -delen er

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

MATCH -delen tilordner 1 som oppslagsverdi , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5) som oppslagsmatrise , og 0 erklærer [match_type] som et eksakt samsvar.

Den brukte MATCH -formelen returnerer 3 som den finner Is i radnummer 3 .

I tilfeller har vi flere produkter å trekke ut prisen fra datasettet. Det ser på en måte ut som følgende bilde,

Den INDEX MATCH kombinerte formel henter Priser på det erargumenter som tilfredsstiller kriteriene. Ellers resulterer det i en #N/A feil som vist i skjermbildet ovenfor.

Les mer: VBA INDEX MATCH Basert på flere kriterier i Excel ( 3 metoder)

Metode 2: XLOOKUP-funksjon for å håndtere flere kriterier

I likhet med Metode 1 kan vi bruke XLOOKUP -funksjon (kun tilgjengelig i Excel 365 ) til INDEKS MATCH datoperiode med flere kriterier. Syntaksen til XLOOKUP -funksjonen er

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

Trinn: Bruk formelen nedenfor i celle I5 trykk deretter ENTER .

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

XLOOKUP -formelen returnerer den respekterte prisen som tilfredsstiller de gitte kriteriene (dvs. Produkt og Dato ) som vist på bildet ovenfor.

🔄 Formelobduksjon:

XLOOKUP tildeler 1 som -oppslag -argumentet, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5) som oppslagsmatrise, $E$5:$E$16 som returmatrise . Formelen viser også Ikke funnet -tekst i tilfelle oppføringer ikke faller innenfor datoperioden. Vi angir de tilordnede kriteriene i fargede rektangler som vist i følgende bilde.

For flere produkter, du kan bruke XLOOKUP -formelen og trekke ut prisene ved å tilfredsstille de gitte kriteriene. Formelen viser også Ikke funnet hvis de gitte datokriteriene ikke utvides innen den gitte datoenområde.

Du kan legge til flere kriterier enn brukt i formelen. For å gi enkle og klare scenarier er det brukt minimale kriterier.

Les mer: XLOOKUP with Multiple Criteria in Excel (4 Easy Ways)

Metode 3: INDEX- og AGGREGATE-funksjoner for å trekke ut en volatil pris fra datointervall

Noen produktpriser (dvs. råolje, valuta osv.) er så volatile at de svinger i uker eller til og med dager. Vi har priser på et bestemt produkt i en ukes intervall. Vi ønsker å finne prisen for de oppgitte datoene. For å finne prisen for en gitt datoperiode kan vi bruke den kombinerte INDEKS AGGREGAT -funksjonen. Syntaksen til AGGREGATE -funksjonen er

AGGREGATE (function_num, options, ref1, ref2)

Trinn: Skriv inn følgende formel i en hvilken som helst tom celle (dvs. , 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))),"")

Den 1. prisen for den bestemte produktdatoen 02-15-22 til 02-25-22 er $0,84 . Det kan være en 2. eller 3. pris tilgjengelig, men til å begynne med holder vi oss til 1. .

🔄 Formelobduksjon :

I formelen gir =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))) -delen radnummeret til INDEKS funksjon. C$5:C$13 er array -argumentet til INDEX -funksjonen.

I AGGREGATE -formelen,

(B$5:B$13>=F$4)*(B$5:B$13<=F$5) returnerer 1 eller 0 avhengig av om datasettdatoene faller iområdet eller ikke.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5)) returnerer en rekke radnummer avhengig av hvilke som tilfredsstiller datokriteriene. Ellers resulterer det i feilverdier.

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 en rekke radnummer konvertert til indekstall ellers i feilverdier.

RADER(E$8:E8) som ref2 resulterer i radnummer og det er en enkel måte å få radnummer når du bruker formelen nedover.

Tallet 15 = funksjonsnummer (dvs. LITEN ), 6 = alternativer (dvs. ignorerer feilverdier ). Du kan velge funksjonsnummer fra 19 forskjellige funksjoner og Alternativer fra 8 forskjellige alternativer.

Til slutt, 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))) sender det nth minste indeksnummeret i en rad som tilfredsstiller de gitte kriteriene.

Hvis det oppstår en feil, ignorerer IFERROR(INDEX...),"") alle typer feil og forvandler dem til tomme felter.

➤ Dra Fyllhåndtaket for å hente andre samsvarende priser innenfor kriteriedatointervallet. Og funksjonen IFERROR resulterer i tomme celler hvis formelen støter på feil.

Les mer: VLOOKUP med Flere kriterier inkludert datoperiode i Excel (2 måter)

Konklusjon

I denne artikkelen demonstrerer vi flere måter å INDEX MATCH datoperiode med flere kriterier. Vi bruker funksjoner som INDEX , MATCH . XLOOKUP og AGGREGATE for å danne formler som indekserersamsvarer med oppføringer som tilfredsstiller kriteriene. Håper disse ovennevnte utveiene hjelper deg med å håndtere situasjonen din. Kommenter hvis du har flere spørsmål eller har noe å tilføye.

Hugh West er en svært erfaren Excel-trener og analytiker med over 10 års erfaring i bransjen. Han har en bachelorgrad i regnskap og finans og en mastergrad i bedriftsøkonomi. Hugh har en lidenskap for undervisning og har utviklet en unik undervisningstilnærming som er enkel å følge og forstå. Hans ekspertkunnskap om Excel har hjulpet tusenvis av studenter og fagfolk over hele verden med å forbedre sine ferdigheter og utmerke seg i karrieren. Gjennom bloggen sin deler Hugh sin kunnskap med verden, og tilbyr gratis Excel-opplæringer og nettbasert opplæring for å hjelpe enkeltpersoner og bedrifter å nå sitt fulle potensial.