Cuprins
Variabilele (cum ar fi prețul materiilor prime, acțiunile, rata dobânzii etc.) care depind de date provoacă panică în rândul populației, deoarece prețurile lor depind de date. INDEX MATCH interval de date cu criterii multiple poate extrage prețurile dintr-un anumit interval de date.
Să presupunem că avem anumite produse cu prețuri stabile pentru o anumită perioadă de timp. Și dorim să INDEX MATCH prețurile pentru criteriile date.
În acest articol, folosim mai multe funcții pentru a INDEX MATCH interval de date cu criterii multiple.
Descărcați Excel Workbook
Criterii multiple Interval de date.xlsx3 moduri simple de a utiliza INDEX MATCH pentru criterii multiple de interval de date
Metoda 1: Utilizarea funcțiilor INDEX MATCH pentru criterii multiple ale intervalului de date
Dorim să extragem prețul unui anumit produs la o anumită dată. Să presupunem că dorim să vedem prețul unui produs Înghețată pe 02-10-22 ( lună-zi-an ). dacă data dată se încadrează în perioada de timp oferită, vom avea prețul extras în orice celulă goală.
Pași: Introduceți următoarea formulă în orice celulă goală (de ex, I5 ). ca formulă într-o formulă de matrice, apăsați CTRL+SHIFT+ENTER pentru a o aplica. În mod instantaneu, formula returnează valoarea Produs prețul dacă scade în perioada de timp dată (adică, Data intervalul), așa cum este descris mai jos.
=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0))
🔄 Formula Autopsie:
Excel INDEX găsește o valoare de o anumită locație într-un anumit interval. În cazul nostru, folosim funcția MATCH indusă cu funcția INDEX Funcția. MATCH transmite rezultatul său ca un numărul rândului pentru intrările care îndeplinesc anumite criterii. Sintaxa unui fișier INDEX funcția este
INDEX(array, row_num, [col_num])
În formulă, $E$5$E$16 se referă la array Argument. În interiorul MATCH funcția $B$5:$B$16=G5
, $D$5:$D$16>=H5
, și $C$5:$C$16<=H5
Pentru a asigura o mai bună identificare, colorăm intervalele respective în dreptunghiuri.
The MATCH localizează poziția unei anumite valori în cadrul unui rând, coloană sau tabel. Așa cum am spus mai devreme, funcția MATCH trece numărul rândului pentru INDEX Sintaxa funcției MATCH funcția este
MATCH (lookup_value, lookup_array, [match_type])
The MATCH porțiunea este
=MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0)
The MATCH porțiunea atribuie 1 ca lookup_value , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)
ca lookup_array , și 0 declară că [match_type] ca o potrivire exactă.
Folosit MATCH formula revine 3 pe măsură ce găsește Înghețată în numărul de rând 3 .
În cazurile în care avem mai multe produse pentru a extrage prețul acestora din setul de date, seamănă cu următoarea imagine,
The INDEX MATCH formula combinată aduce Prețuri în cazul în care argumentele sale îndeplinesc criteriile. În caz contrar, rezultă un #N/A așa cum se arată în captura de ecran de mai sus.
Citește mai mult: VBA INDEX MATCH bazat pe criterii multiple în Excel (3 metode)
Metoda 2: Funcția XLOOKUP pentru a face față criteriilor multiple
Similar cu Metoda 1 , putem folosi XLOOKUP (disponibilă numai în Excel 365 ) la INDEX MATCH intervalul de date cu criterii multiple. Sintaxa din XLOOKUP funcția este
XLOOKUP (lookup, lookup_array, return_array, [not_found], [match_mode], [search_mode])
Pași: Utilizați formula de mai jos în celula I5 apoi 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 formula returnează prețul respectat care satisface criteriile date (de ex, Produs și Data ), așa cum se arată în imaginea de mai sus.
🔄 Formula Autopsie:
The XLOOKUP atribuie 1 ca fiind căutare argument, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5)
ca lookup_array, $E$5:$E$16 ca return_array De asemenea, formula afișează Nu a fost găsit text în cazul în care intrările nu se încadrează în intervalul de date. Indicăm criteriile atribuite prin dreptunghiuri colorate, așa cum este ilustrat în imaginea următoare.
➤ Pentru mai multe Produse, se poate aplica XLOOKUP formula și extrage prețurile care îndeplinesc criteriile date. De asemenea, formula afișează Nu a fost găsit în cazul în care criteriile de dată date date nu se extind în intervalul de date dat.
Puteți adăuga mai multe criterii decât cele utilizate în formulă. Pentru a oferi scenarii simple și lucide, au fost utilizate criterii minime.
Citește mai mult: XLOOKUP cu criterii multiple în Excel (4 moduri simple)
Metoda 3: Funcțiile INDEX și AGGREGATE pentru a extrage un preț volatil din intervalul de date
Prețurile unor produse (de exemplu, țiței, valută etc.) sunt atât de volatile încât fluctuează timp de săptămâni sau chiar zile. Avem prețurile unui anumit produs într-un interval de o săptămână. Dorim să aflăm prețul pentru datele date. Pentru a afla prețul pentru un interval de date dat, putem utiliza combinația INDEX AGREGATE Sintaxa funcției AGREGATE funcția este
AGGREGATE (function_num, options, ref1, ref2)
Pași: Introduceți următoarea formulă în orice celulă goală (de ex, 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. prețul produsului data 02-15-22 la 02-25-22 este $0.84 Poate exista o... 2. sau 3. preț disponibil, dar la început, rămânem la prețul 1. unul.
🔄 Formula Autopsie:
În formulă, =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))))
furnizează numărul rândului pentru INDEX funcție. C$5:C$13 este array argument al INDEX funcție.
În interiorul AGREGATE formula,
(B$5:B$13>=F$4)*(B$5:B$13<=F$5)
returnează 1 sau 0 în funcție de faptul că datele din setul de date se încadrează sau nu în interval.
ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))
returnează o matrice de numere de rânduri în funcție de îndeplinirea criteriilor de dată. În caz contrar, rezultă valori de eroare.
ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1
ca ref1 are ca rezultat o matrice de numere de rânduri convertite în numere de index, în caz contrar în valori de eroare.
ROWS(E$8:E8) ca ref2 are ca rezultat numărul rândului și este o modalitate ușoară de a obține numărul rândului pe măsură ce aplicați formula în jos.
Numărul 15 = număr_funcție (adică, MICI ), 6 = opțiuni (adică, ignoră valorile de eroare ). puteți alege număr_funcție de la 19 diferite funcții și Opțiuni de la 8 diferite opțiuni.
În sfârșit, 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))))
trece de nth cel mai mic număr de index al unui rând care îndeplinește criteriile date.
În cazul în care apare o eroare, IFERROR(INDEX....),"")
ignoră toate tipurile de erori și le transformă în spații libere.
➤ Trageți butonul Mâner de umplere pentru a prelua alte prețuri corespunzătoare în intervalul de date al criteriilor. Și IFERROR are ca rezultat celule goale în cazul în care formula întâmpină erori.
Citește mai mult: VLOOKUP cu criterii multiple, inclusiv intervalul de date în Excel (2 moduri)
Concluzie
În acest articol, demonstrăm mai multe moduri de a INDEX MATCH interval de date cu mai multe criterii. Utilizăm funcții precum INDEX , MATCH . XLOOKUP , și AGREGATE pentru a forma formule care să indexeze intrările care corespund criteriilor. Sper că aceste modalități menționate mai sus vă vor ajuta să rezolvați situația dumneavoastră. Comentați dacă aveți întrebări suplimentare sau dacă aveți ceva de adăugat.