Kuinka käyttää INDEX MATCHia useiden kriteerien kanssa päivämäärävälille?

  • Jaa Tämä
Hugh West

Päivämääristä riippuvaiset muuttujat (kuten hyödykkeen hinta, osake, korko jne.) aiheuttavat paniikkia, koska niiden hinnat riippuvat päivämääristä. INDEX MATCH useita kriteerejä päivämäärävälillä voi poimia hintoja tietystä päivämäärävälistä.

Oletetaan, että meillä on tiettyjä tuotteita, joiden hinnat ovat pysyneet vakaina tietyn ajanjakson ajan. Haluamme, että INDEX MATCH annettujen kriteerien mukaiset hinnat.

Tässä artikkelissa käytämme useita toimintoja INDEX MATCH useita kriteerejä päivämäärävälillä.

Lataa Excel-työkirja

Useita kriteerejä Date Range.xlsx

3 helppoa tapaa käyttää INDEX MATCHia useille päivämääräalueen kriteereille

Menetelmä 1: INDEX MATCH -funktioiden käyttäminen päivämäärävälin useille kriteereille

Haluamme poimia tietyn tuotteen hinnan tiettynä päivämääränä. Oletetaan, että haluamme nähdä hinta Jäätelö osoitteessa 02-10-22 ( kuukausi - päivä - vuosi ). Jos annettu päivämäärä osuu tarjotun ajanjakson väliin, hinta poimitaan mihin tahansa tyhjään soluun.

Vaiheet: Lisää seuraava kaava mihin tahansa tyhjään soluun (esim., I5 ). Kaavana array-kaavassa, Paina Press CTRL+SHIFT+ENTER kaava palauttaa välittömästi arvon Tuote hinta, jos se laskee tietyn ajanjakson aikana (eli, Päivämäärä alue) alla olevan kuvan mukaisesti.

=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 funktio etsii tietyn sijainnin arvon tietyllä alueella. Meidän tapauksessamme käytämme funktiota nimeltä MATCH funktio, joka on saatu aikaan INDEX toiminto. MATCH funktio siirtää tuloksensa rivin numero merkintöjä, jotka täyttävät annetut kriteerit. INDEX toiminto on

INDEX(array, row_num, [col_num])

Kaavassa, $E$5$E$16 viittaa array argumentti. Sisällä MATCH toiminto $B$5:$B$16=G5 , $D$5:$D$16>=H5 ja $C$5:$C$16<=H5 Paremman tunnistettavuuden takaamiseksi väritämme kyseiset alueet suorakulmioiksi.

The MATCH funktio paikantaa tietyn arvon sijainnin rivillä, sarakkeessa tai taulukossa. Kuten aiemmin totesimme, funktio MATCH osa siirtää rivinumeron INDEX Toiminnon syntaksi on MATCH toiminto on

MATCH (lookup_value, lookup_array, [match_type])

The MATCH osa on

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

The MATCH osa osoittaa 1 kuten lookup_value , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5) kuten lookup_array ja 0 julistaa [match_type] täsmällisenä vastaavuutena.

Käytetty MATCH kaavan palautukset 3 kun se löytää Jäätelö rivin numero 3 .

Tapauksissa, joissa meillä on useita tuotteita, niiden hinta on poimittava tietokokonaisuudesta. Se näyttää jotakuinkin seuraavalta kuvalta,

The INDEX MATCH yhdistetty kaava hakee Hinnat jos sen argumentit täyttävät kriteerit. Muussa tapauksessa tuloksena on virhe. #N/A virhe, kuten yllä olevassa kuvakaappauksessa on esitetty.

Lue lisää: VBA INDEX MATCH perustuu useisiin kriteereihin Excelissä (3 menetelmää)

Menetelmä 2: XLOOKUP-funktio useiden kriteerien käsittelyyn

Samanlainen kuin Menetelmä 1 , voimme käyttää XLOOKUP toiminto (käytettävissä vain Excel 365 ) kohteeseen INDEX MATCH useita kriteerejä sisältävä päivämääräalue. XLOOKUP toiminto on

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

Vaiheet: Käytä alla olevaa kaavaa solussa I5 sitten Hit ENTER .

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

The XLOOKUP kaava palauttaa kunnioitetun hinnan, joka täyttää annetut kriteerit (esim., Tuote ja Päivämäärä ), kuten yllä olevassa kuvassa näkyy.

🔄 Formula Autopsy:

The XLOOKUP osoittaa 1 sen lookup argumentti, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5) kuten lookup_array, $E$5:$E$16 kuten return_array Lisäksi kaava näyttää Ei löydy tekstiä, jos merkinnät eivät kuulu päivämäärävälille. Osoitamme määritetyt kriteerit värillisillä suorakulmioilla, kuten seuraavassa kuvassa on esitetty.

Useita Tuotteet, voit soveltaa XLOOKUP kaava ja poimii hinnat, kun ne täyttävät annetut kriteerit. Lisäksi kaava näyttää Ei löydy jos annetut päivämääräkriteerit eivät laajene annetulla päivämäärävälillä.

Kriteerejä voi lisätä enemmän kuin kaavassa on käytetty. Yksinkertaisten ja selkeiden skenaarioiden antamiseksi on käytetty mahdollisimman vähän kriteerejä.

Lue lisää: XLOOKUP useilla kriteereillä Excelissä (4 helppoa tapaa)

Menetelmä 3: INDEX- ja AGGREGATE-funktiot haihtuvan hinnan poimimiseksi päivämääräalueesta

Joidenkin tuotteiden hinnat (esim. raakaöljyn, valuutan jne.) ovat niin epävakaita, että ne vaihtelevat viikkojen tai jopa päivien ajan. Meillä on tietyn tuotteen hinnat viikon välein. Haluamme löytää hinnan annetuille päivämäärille. Löytääksemme hinnan annetulle päivämäärävälille voimme käyttää yhdistettyä INDEX AGGREGATE Toiminnon syntaksi on AGGREGATE toiminto on

AGGREGATE (function_num, options, ref1, ref2)

Vaiheet: Kirjoita seuraava kaava mihin tahansa tyhjään soluun (esim., 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))),"")

The 1. tietyn tuotteen hinta päivämäärä 02-15-22 osoitteeseen 02-25-22 on $0.84 . Saattaa olla 2. tai Kolmas hinta saatavilla, mutta aluksi pysymme kiinni 1. yksi.

🔄 Formula Autopsy:

Kaavassa, =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))) osa antaa rivinumeron INDEX toiminto. C$5:C$13 on array argumentti INDEX toiminto.

Sisällä AGGREGATE kaava,

(B$5:B$13>=F$4)*(B$5:B$13<=F$5) palauttaa 1 tai 0 riippuen siitä, kuuluvatko datasetin päivämäärät kyseiseen alueeseen vai eivät.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5)) palauttaa rivien numeroiden joukon riippuen siitä, täyttävätkö päivämääräkriteerit. Muussa tapauksessa tuloksena on virhearvoja.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1 kuten ref1 tuloksena on rivinumeroiden joukko, joka muunnetaan indeksinumeroiksi, muuten virhearvot.

ROWS(E$8:E8) kuten ref2 tuloksena on rivin numero, ja se on helppo tapa saada rivin numero, kun sovellat kaavaa alaspäin.

Määrä 15 = function_num (ts, PIENI ), 6 = vaihtoehdot (ts, jättää virhearvot huomiotta ). Voit valita function_num osoitteesta 19 erilaiset toiminnot ja Vaihtoehdot osoitteesta 8 eri vaihtoehtoja.

Vihdoinkin, 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))) läpäisee nth annetun kriteerin täyttävän rivin pienin indeksinumero.

Jos jokin virhe ilmenee, IFERROR(INDEX...),"") jättää huomiotta kaikenlaiset virheet ja muuttaa ne tyhjiksi.

➤ Vedä Täyttökahva noutaa muita sovitettuja hintoja kriteerien päivämäärävälillä. Ja komento IFERROR toiminto johtaa tyhjiin soluihin, jos kaavassa esiintyy virheitä.

Lue lisää: VLOOKUP useilla kriteereillä, mukaan lukien päivämääräalue Excelissä (2 tapaa)

Päätelmä

Tässä artikkelissa esittelemme useita tapoja INDEX MATCH usean kriteerin päivämääräalue. Käytämme funktioita kuten INDEX , MATCH . XLOOKUP ja AGGREGATE muodostaa kaavoja, jotka indeksoivat kriteerit täyttäviä merkintöjä. Toivottavasti nämä edellä mainitut tavat auttavat sinua käsittelemään tilannetta. Kommentoi, jos sinulla on lisätietoja tai jotain lisättävää.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.