Kaip naudoti INDEX MATCH su keliais kriterijais datų intervalui

  • Pasidalinti
Hugh West

Nuo datų priklausantys kintamieji (pvz., prekių, akcijų, palūkanų normos ir kt.) kelia paniką, nes jų kainos priklauso nuo datų. INDEKSO RUNGTYNĖS kelių kriterijų datos intervalas gali išgauti kainas iš tam tikro datos intervalo.

Tarkime, kad turime tam tikrų produktų, kurių kainos tam tikrą laikotarpį yra stabilios. Ir norime INDEKSO RUNGTYNĖS kainos pagal nurodytus kriterijus.

Šiame straipsnyje naudojame kelias funkcijas, kad INDEKSO RUNGTYNĖS kelių kriterijų datos intervalas.

Atsisiųsti "Excel" darbaknygę

Kelių kriterijų datos intervalas.xlsx

3 paprasti būdai, kaip naudoti INDEX MATCH keliems datos intervalo kriterijams

1 metodas: INDEX MATCH funkcijų naudojimas keliems datos intervalo kriterijams

Norime išgauti tam tikro gaminio kainą konkrečią datą. Tarkime, kad norime pamatyti kainą Ledai svetainėje 02-10-22 ( mėnuo-diena- metai ). Jei nurodyta data patenka į siūlomą laikotarpį, kainą išvesime į bet kurį tuščią langelį.

Žingsniai: Į bet kurią tuščią ląstelę įterpkite šią formulę (t. y, I5 ). Kadangi formulė yra masyvo formulė, paspauskite CTRL+SHIFT+ENTER kad ją pritaikytumėte. Formulė iš karto grąžina Produktas kaina, jei ji sumažėja per tam tikrą laikotarpį (t. y, Data diapazonas), kaip parodyta toliau.

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

🔄 Formulės autopsija:

"Excel" INDEKSAS funkcija randa tam tikros vietos reikšmę tam tikrame intervale. MATCH funkcija, sukelta naudojant INDEKSAS funkcija. MATCH funkcija perduoda savo rezultatą kaip eilutės numeris įrašus, kurie atitinka tam tikrus kriterijus. INDEKSAS funkcija yra

INDEX(masyvas, eilutės_numeris, [col_num])

Formulėje, 5 $E$5$E$16 reiškia, kad masyvas argumentas. MATCH funkcija $B$5:$B$16=G5 , $D$5:$D$16>=H5 , ir $C$5:$C$16<=H5 Kad būtų galima geriau identifikuoti, atitinkamus intervalus nuspalviname stačiakampiais.

Svetainė MATCH funkcija nustato tam tikros reikšmės vietą eilutėje, stulpelyje arba lentelėje. MATCH dalis perduoda eilutės numerį INDEKSAS funkcija. MATCH funkcija yra

MATCH (lookup_value, lookup_array, [match_type])

Svetainė MATCH dalis yra

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

Svetainė MATCH dalis priskiria 1 kaip lookup_value , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5) kaip lookup_array , ir 0 skelbia, kad [match_type] kaip tiksli atitiktis.

Naudotas MATCH formulė grąžina 3 kaip ji randa Ledai eilutės numeris 3 .

Tais atvejais, kai turime kelis produktus, iš duomenų rinkinio reikia išgauti jų kainą. Tai tarsi atrodo taip, kaip parodyta toliau pateiktame paveikslėlyje,

Svetainė INDEKSO RUNGTYNĖS Kombinuotoji formulė surenka Kainos jei jo argumentai atitinka kriterijus. Priešingu atveju gaunamas #N/A klaida, kaip parodyta pirmiau pateiktoje ekrano nuotraukoje.

Skaityti daugiau: VBA INDEX MATCH pagal kelis kriterijus "Excel" programoje (3 metodai)

2 metodas: XLOOKUP funkcija keliems kriterijams spręsti

Panašus į 1 metodas , galime naudoti XLOOKUP funkcija (galima tik "Excel 365 ) į INDEKSO RUNGTYNĖS kelių kriterijų datos intervalas. XLOOKUP funkcija yra

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

Žingsniai: Naudokite toliau pateiktą formulę ląstelėje I5 tada paspauskite ĮVESKITE .

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

Svetainė XLOOKUP formulė grąžina gerbiamą kainą, atitinkančią nurodytus kriterijus (t. y, Produktas ir Data ), kaip parodyta pirmiau pateiktame paveikslėlyje.

🔄 Formulės autopsija:

Svetainė XLOOKUP priskiria 1 kaip jos ieškoti argumentas, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5) kaip lookup_array, $E$5:$E$16 kaip return_array Be to, formulė rodo Nerastas tekstą, jei įrašai nepatenka į datos intervalą. Priskirtus kriterijus nurodome spalvotais stačiakampiais, kaip parodyta toliau pateiktame paveikslėlyje.

Dėl kelių Produktai, galite taikyti XLOOKUP formulę ir išgauti kainas, atitinkančias nurodytus kriterijus. Be to, formulė rodo Nerastas jei duoti datos kriterijai neišsiplečia duotame datos intervale.

Galite įtraukti daugiau kriterijų, nei naudojama formulėje. Siekiant pateikti paprastus ir aiškius scenarijus, buvo naudojami minimalūs kriterijai.

Skaityti daugiau: XLOOKUP su keliais kriterijais "Excel" programoje (4 paprasti būdai)

3 metodas: INDEX ir AGGREGATE funkcijos kintamai kainai ištraukti iš datos intervalo

Kai kurių produktų kainos (pvz., žalios naftos, valiutos ir kt.) yra tokios nepastovios, kad svyruoja savaitėmis ar net dienomis. Turime tam tikro produkto kainas savaitės intervale. Norime rasti kainą duotomis datomis. Norėdami rasti kainą duotam datų intervalui, galime naudoti kombinuotąjį INDEKSAS GREGRATAS funkcija. GREGRATAS funkcija yra

AGGREGATE (function_num, options, ref1, ref2)

Žingsniai: Į bet kurią tuščią ląstelę įveskite šią formulę (t. y, 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))),"")

Svetainė 1. tam tikro produkto kaina data 02-15-22 į 02-25-22 yra . $0.84 . Gali būti, kad 2. arba 3. kaina prieinama, bet iš pradžių mes laikomės 1. vienas.

🔄 Formulės autopsija:

Formulėje, =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))) dalis suteikia eilutės numerį INDEKSAS funkcija. C$5:C$13 yra masyvas argumentas INDEKSAS funkcija.

Viduje GREGRATAS formulė,

(B$5:B$13>=F$4)*(B$5:B$13<=F$5) grąžina 1 arba 0 priklausomai nuo to, ar duomenų rinkinio datos patenka į intervalą, ar ne.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5)) grąžina eilučių numerių masyvą, priklausomai nuo datos kriterijų atitikimo. Priešingu atveju gaunamos klaidos reikšmės.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1 kaip ref1 gaunamas eilučių numerių masyvas, konvertuotas į indeksų numerius, kitu atveju - į klaidų vertes.

ROWS(E$8:E8) kaip nuoroda2 gaunamas eilutės numeris ir tai yra paprastas būdas gauti eilutės numerį, kai formulę taikote žemyn.

Skaičius 15 = function_num (t. y., MAŽAS ), 6 = parinktys (t. y., ignoruoti klaidų vertes ). Galite pasirinkti function_num 19 skirtingos funkcijos ir Parinktys 8 įvairios galimybės.

Pagaliau, 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))) perduoda n-asis mažiausias eilutės, atitinkančios nurodytus kriterijus, indekso numeris.

Jei įvyksta kokia nors klaida, IFERROR(INDEX...),"") ignoruoja visų tipų klaidas ir paverčia jas tuščiais langeliais.

➤ Vilkite Užpildymo rankena gauti kitas suderintas kainas, patenkančias į kriterijaus datos intervalą. Ir IFERROR jei formulėje pasitaiko klaidų, funkcijos rezultatas yra tušti langeliai.

Skaityti daugiau: VLOOKUP su keliais kriterijais, įskaitant "Excel" datos intervalą (2 būdai)

Išvada

Šiame straipsnyje demonstruojame kelis būdus, kaip INDEKSO RUNGTYNĖS kelių kriterijų datos intervalas. Naudojame tokias funkcijas kaip INDEKSAS , MATCH . XLOOKUP , ir GREGRATAS suformuoti formules, kurios indeksuoja kriterijus atitinkančius įrašus. Tikimės, kad šie pirmiau minėti būdai padės jums išspręsti jūsų situaciją. Komentuokite, jei turite papildomų klausimų arba norite ką nors pridėti.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.