Innehållsförteckning
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.xlsx3 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 på 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.