Sisällysluettelo
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.xlsx3 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ää.