Jak użyć INDEX MATCH z wieloma kryteriami dla zakresu dat?

  • Udostępnij To
Hugh West

Zmienne (takie jak cena towaru, akcji, stopy procentowej itp.) podlegające datom wywołują u ogółu ludzi panikę, gdyż ich ceny zależą od dat. INDEX MATCH Wiele kryteriów zakres dat może wydobyć ceny z danego zakresu dat.

Załóżmy, że mamy pewne produkty, których ceny są stabilne przez pewien okres czasu.I chcemy INDEX MATCH ceny dla podanych kryteriów.

W tym artykule używamy wielu funkcji, aby INDEX MATCH Zakres dat według wielu kryteriów.

Pobierz skoroszyt Excela

Multiple Criteria Date Range.xlsx

3 proste sposoby użycia INDEX MATCH dla wielu kryteriów zakresu dat

Metoda 1: Użycie funkcji INDEX MATCH dla wielu kryteriów zakresu dat

Chcemy wyodrębnić cenę pewnego produktu w określonym dniu.Załóżmy, że chcemy zobaczyć cenę Lody na stronie 02-10-22 ( miesiąc-dzień-rok ). Jeśli podana data wypadnie pomiędzy oferowanym okresem, będziemy mieli wyciągniętą cenę w dowolnej pustej komórce.

Kroki: W dowolnej pustej komórce wstawić następującą formułę (tj, I5 ). Jako wzór w formule tablicowej, naciśnij CTRL+SHIFT+ENTER Natychmiast formuła zwraca wartość Produkt cena, jeśli spadnie w danym okresie czasu (tj, Data zakres), jak przedstawiono poniżej.

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

🔄 Autopsja formuły:

Excel INDEX Funkcja znajduje wartość o danym położeniu w danym zakresie. W naszym przypadku używamy MATCH funkcja indukowana za pomocą INDEX funkcja. MATCH funkcja przekazuje swój wynik jako numer rzędu dla wpisów spełniających podane kryteria. Składnia polecenia INDEX funkcja to

INDEX(array, row_num, [col_num])

W formule, $E$5$E$16 odnosi się do macierz argument. Wewnątrz MATCH funkcja $B$5:$B$16=G5 , $D$5:$D$16>=H5 oraz $C$5:$C$16<=H5 Dla lepszej identyfikacji kolorujemy odpowiednie zakresy w prostokątach.

Na stronie MATCH Funkcja lokalizuje pozycję danej wartości w wierszu, kolumnie lub tabeli. Jak już powiedzieliśmy wcześniej, funkcja MATCH część przekazuje numer wiersza dla INDEX Składnia funkcji MATCH funkcja to

MATCH (lookup_value, lookup_array, [match_type])

Na stronie MATCH część to

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

Na stronie MATCH część przypisuje sobie 1 jako lookup_value , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5) jako lookup_array oraz 0 deklaruje [match_type] jako dokładne dopasowanie.

Używany MATCH formuła zwrotu 3 jak znajdzie Lody w numerze rzędu 3 .

W przypadkach, mamy wiele produktów, aby wyodrębnić ich cenę ze zbioru danych. To rodzaj wygląda jak poniższy obraz,

Na stronie INDEX MATCH formuła łączona pobiera Ceny jeśli jego argumenty spełniają kryteria. W przeciwnym razie skutkuje #N/A błąd przedstawiony na powyższym zrzucie ekranu.

Read More: VBA INDEX MATCH Based on Multiple Criteria in Excel (3 Methods)

Metoda 2: Funkcja XLOOKUP do radzenia sobie z wieloma kryteriami

podobny do Metoda 1 , możemy użyć XLOOKUP funkcja (dostępna tylko w Excel 365 ) do INDEX MATCH zakres dat z wieloma kryteriami. Składnia XLOOKUP funkcja to

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

Kroki: Użyj poniższej formuły w komórce I5 to uderz ENTER .

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

Na stronie XLOOKUP formuła zwraca respektowaną cenę, która spełnia podane kryteria (tj, Produkt oraz Data ) jak pokazano na powyższym zdjęciu.

🔄 Autopsja formuły:

Na stronie XLOOKUP przypisuje 1 jako jego lookup argument, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5) jako lookup_array, $E$5:$E$16 jako tablica Ponadto, formuła wyświetla Nie znaleziono tekst w przypadku, gdy wpisy nie mieszczą się w zakresie dat. Przypisane kryteria oznaczamy kolorowymi prostokątami, jak na poniższym obrazku.

Dla wielu Produkty, można zastosować XLOOKUP formuła wyodrębnia ceny po spełnieniu zadanych kryteriów, a także wyświetla Nie znaleziono jeśli podane kryteria daty nie rozszerzają się w podanym zakresie dat.

Można dodać więcej kryteriów niż użyto we wzorze. Aby podać proste i czytelne scenariusze, użyto minimalnych kryteriów.

Read More: XLOOKUP z wieloma kryteriami w Excelu (4 proste sposoby)

Metoda 3: Funkcje INDEX i AGGREGATE do ekstrakcji zmiennej ceny z zakresu dat

Niektóre ceny produktów (np. ropy naftowej, waluty itp.) są tak zmienne, że wahają się przez tygodnie, a nawet dni. Mamy ceny pewnego produktu w przedziale tygodniowym. Chcemy znaleźć cenę dla danych dat. Aby znaleźć cenę dla danego zakresu dat, możemy użyć kombinacji INDEX AGREGAT Składnia funkcji AGREGAT funkcja to

AGGREGATE (function_num, options, ref1, ref2)

Kroki: W dowolnej pustej komórce wpisz następującą formułę (tj, 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))),"")

Na stronie 1. cena określonego produktu data 02-15-22 do 02-25-22 jest $0.84 . Może być 2. lub 3. dostępna cena, ale na początku trzymamy się 1. jeden.

🔄 Autopsja formuły:

W formule, =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))) część dostarcza numer wiersza do INDEX funkcja. C$5:C$13 to macierz argument z INDEX funkcja.

Wewnątrz AGREGAT wzór,

(B$5:B$13>=F$4)*(B$5:B$13<=F$5) zwraca 1 lub 0 w zależności od tego, czy daty zbioru danych mieszczą się w zakresie, czy nie.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5)) zwraca tablicę numerów wierszy w zależności od spełnienia kryteriów daty. W przeciwnym wypadku zwraca wartości błędów.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1 jako ref1 daje w wyniku tablicę numerów wierszy zamienionych na numery indeksów w przeciwnym razie w wartości błędów.

ROWS(E$8:E8) jako ref2 daje wynik w postaci numeru wiersza i jest to łatwy sposób na uzyskanie numeru wiersza, ponieważ stosujesz formułę w dół.

Liczba 15 = funkcja_num (t.j., MAŁA ), 6 = opcje (t.j., ignorować wartości błędów ). Można wybrać funkcja_num z 19 różne funkcje i Opcje z 8 różne opcje.

W końcu, 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))) przekazuje n-ty najmniejszy numer indeksu wiersza, który spełnia podane kryteria.

W przypadku wystąpienia jakiegokolwiek błędu, IFERROR(INDEX...),"") ignoruje wszystkie rodzaje błędów i przekształca je w puste miejsca.

➤ Przeciągnij Uchwyt do napełniania aby pobrać inne dopasowane ceny w ramach zakresu dat kryteriów. oraz IFERROR Funkcja skutkuje pustymi komórkami, jeśli formuła napotka jakiekolwiek błędy.

Read More: VLOOKUP z wieloma kryteriami w tym zakresem dat w Excelu (2 sposoby)

Wniosek

W tym artykule demonstrujemy wiele sposobów na INDEX MATCH Zakres dat z wieloma kryteriami. Używamy funkcji takich jak INDEX , MATCH . XLOOKUP oraz AGREGAT aby utworzyć formuły, które indeksują wpisy spełniające kryteria. Mam nadzieję, że te wyżej wymienione sposoby pomogą Ci poradzić sobie z Twoją sytuacją. Skomentuj, jeśli masz dalsze pytania lub masz coś do dodania.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.