Hur man använder INDEX MATCH med flera kriterier för datumintervall

  • Dela Detta
Hugh West

Variabler (t.ex. råvarupriser, aktier, räntor osv.) som är beroende av datum orsakar panik hos allmänheten, eftersom deras priser är beroende av datum. INDEX MATCH flera kriterier datumintervall kan extrahera priser från ett visst datumintervall.

Låt oss säga att vi har vissa produkter vars priser är stabila under en viss tidsperiod och att vi vill INDEX MATCH priserna för de angivna kriterierna.

I den här artikeln använder vi flera funktioner för att INDEX MATCH datumintervall med flera kriterier.

Ladda ner arbetsbok i Excel

Datumintervall med flera kriterier.xlsx

3 enkla sätt att använda INDEX MATCH för flera kriterier i datumintervallet

Metod 1: Använda INDEX MATCH-funktioner för flera kriterier i datumintervallet

Vi vill ta fram priset för en viss produkt på ett visst datum. Antag att vi vill se priset för en Glass 02-10-22 ( månad-dag-år ). Om det givna datumet faller mellan de erbjudna tidsperioderna får vi priset utdraget i en tom cell.

Steg: Lägg in följande formel i en tom cell (t.ex., I5 ). Som formel i en matrisformel trycker du på CTRL+SHIFT+ENTER för att tillämpa den. Formeln returnerar genast Produkt priset om det sjunker under den givna tidsperioden (dvs, Datum intervallet) enligt nedanstående bild.

=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 funktionen hittar ett värde på en given plats inom ett givet intervall. I vårt fall använder vi MATCH funktion som framkallas med hjälp av INDEX funktion. MATCH funktionen skickar sitt resultat som en radnummer för poster som uppfyller givna kriterier. Syntaxen för en INDEX funktionen är

INDEX(array, row_num, [col_num])

I formeln, $E$5$E$16 hänvisar till den matris argument. Inuti MATCH funktion $B$5:$B$16=G5 , $D$5:$D$16>=H5 , och $C$5:$C$16<=H5 För att underlätta identifieringen färgar vi respektive områden i rektanglar.

MATCH funktionen lokaliserar positionen för ett givet värde i en rad, kolumn eller tabell. Som vi sa tidigare kan funktionen MATCH delen lämnar över radnumret för den INDEX funktionen. Syntaxen för MATCH funktionen är

MATCH (lookup_value, lookup_array, [match_type])

MATCH del är

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

MATCH del överlåter 1 som Lookup_value , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5) som Lookup_array , och 0 förklarar att [match_type] som en exakt matchning.

Den använda MATCH formel för avkastning 3 eftersom den finner Glass i radnumret 3 .

Om vi har flera produkter som vi ska extrahera deras pris från datasetet ser det ut som i följande bild,

INDEX MATCH kombinerad formel hämtar Priser om dess argument uppfyller kriterierna. I annat fall resulterar det i en #N/A fel som visas i skärmbilden ovan.

Läs mer: VBA INDEX MATCH baserat på flera kriterier i Excel (3 metoder)

Metod 2: XLOOKUP-funktionen för att hantera flera kriterier

Likt Metod 1 , kan vi använda oss av XLOOKUP funktion (endast tillgänglig i Excel 365 ) till INDEX MATCH datumintervall med flera kriterier. Syntaxen för XLOOKUP funktionen är

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

Steg: Använd nedanstående formel i cellen I5 Tryck sedan på ENTER .

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

XLOOKUP formeln returnerar det respekterade priset som uppfyller de givna kriterierna (dvs, Produkt och Datum ) som visas på bilden ovan.

🔄 Formula Autopsy:

XLOOKUP tilldelar 1 som sin sökning 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 Dessutom visar formeln Ej funnen text om posterna inte faller inom datumintervallet. Vi anger de tilldelade kriterierna i färgade rektanglar enligt följande bild.

För flera Produkter, kan du tillämpa XLOOKUP formeln och tar fram priserna om de uppfyller de givna kriterierna. Formeln visar också Ej funnen om de angivna datumkriterierna inte expanderar inom det angivna datumintervallet.

Du kan lägga till fler kriterier än de som används i formeln. För att ge enkla och tydliga scenarier har minimala kriterier använts.

Läs mer: XLOOKUP med flera kriterier i Excel (4 enkla sätt)

Metod 3: INDEX- och AGGREGATE-funktioner för att extrahera ett volatilt pris från ett datumintervall

Vissa produktpriser (t.ex. råolja, valuta osv.) är så instabila att de fluktuerar i veckor eller till och med dagar. Vi har priserna för en viss produkt i ett veckointervall. Vi vill hitta priset för de givna datumen. För att hitta priset för ett givet datumintervall kan vi använda den kombinerade metoden INDEX AGGREGATE funktionen. Syntaxen för AGGREGATE funktionen är

AGGREGATE (function_num, options, ref1, ref2)

Steg: Skriv följande formel i en tom cell (t.ex., E8 ).

=IFERROR(INDEX(C$5:C$13,AGGREGAT(15,6, RAD(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:a Priset för en viss produkt Datum 02-15-22 till 02-25-22 är $0.84 . Det kan finnas en 2:a eller . 3:e pris, men till en början håller vi oss till det 1:a en.

🔄 Formula Autopsy:

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

AGGREGERA(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 ger radnumret till INDEX funktion. C$5:C$13 är den matris argumentet i den INDEX funktion.

Inuti den AGGREGATE formel,

(B$5:B$13>=F$4)*(B$5:B$13<=F$5) returnerar 1 eller . 0 beroende på om datauppsättningen ligger inom intervallet eller inte.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5)) returnerar en matris med radnummer beroende på om datumkriterierna är uppfyllda. Annars resulterar det i felvärden.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1 som ref1 resulterar i en matris med radnummer som omvandlas till indexnummer, annars i felvärden.

RADER(E$8:E8) som ref2 resulterar i radnummer och det är ett enkelt sätt att få fram radnummer när du tillämpar formeln nedåt.

Antalet 15 = funktion_nummer (dvs, SMALL ), 6 = alternativ (dvs, ignorera felvärden ). Du kan välja funktion_nummer från 19 olika funktioner och Alternativ från 8 olika alternativ.

Äntligen, AGGREGERA(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))) passerar den n:e Det minsta indexnumret för en rad som uppfyller de angivna kriterierna.

Om något fel uppstår, IFERROR(INDEX...),"") ignorerar alla typer av fel och omvandlar dem till blanksteg.

➤ Dra i Handtag för fyllning för att hämta andra matchade priser inom datumintervallet för kriterierna. Och med IFERROR funktionen resulterar i tomma celler om formeln stöter på fel.

Läs mer: VLOOKUP med flera kriterier inklusive datumintervall i Excel (2 sätt)

Slutsats

I den här artikeln visar vi flera olika sätt att INDEX MATCH datumintervall med flera kriterier. Vi använder funktioner som INDEX , MATCH . XLOOKUP , och AGGREGATE för att skapa formler som indexerar matchningsuppgifter som uppfyller kriterierna.Jag hoppas att dessa ovan nämnda sätt hjälper dig att hantera din situation.Kommentera om du har ytterligare frågor eller något att tillägga.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.