Formuła programu Excel: uzyskaj n-te dopasowanie -

Spisie treści

Formuła ogólna

=SMALL(IF(logical,ROW(list)-MIN(ROW(list))+1),n)

Podsumowanie

Aby uzyskać pozycję n-tego dopasowania (na przykład 2. pasującej wartości, 3. pasującej wartości itp.), Możesz użyć formuły opartej na funkcji MAŁE. W pokazanym przykładzie formuła w G5 to:

=SMALL(IF(list=E5,ROW(list)-MIN(ROW(list))+1),F5)

Ta formuła zwraca pozycję drugiego wystąpienia „czerwonego” na liście.

Uwaga: to jest formuła tablicowa i należy ją wprowadzić za pomocą Ctrl + Shift + Enter.

Wyjaśnienie

Ta formuła używa nazwanego zakresu „listy”, czyli zakresu B5: B11.

Rdzeniem tej formuły jest funkcja SMALL, która po prostu zwraca n-tą najmniejszą wartość z listy wartości odpowiadających numerom wierszy. Numery wierszy zostały „odfiltrowane” przez instrukcję IF, która stosuje logikę dopasowania. Działając od wewnątrz, funkcja JEŻELI porównuje wszystkie wartości z „listy” nazwanego zakresu z wartością w B5, co tworzy następującą tablicę:

(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE)

„Wartość, jeśli prawda” to zestaw względnych numerów wierszy utworzonych przez ten kod:

ROW(list)-MIN(ROW(list))+1

Rezultatem jest tablica taka:

(1;2;3;4;5;6;7)

Zobacz tę stronę, aby uzyskać pełne wyjaśnienie.

W przypadku testu logicznego, który zwraca tablicę wyników, funkcja JEŻELI działa jak filtr - przetrwają tylko numery wierszy, które odpowiadają dopasowaniu, reszta zwraca FALSE. Wynik zwracany przez JEŻELI wygląda następująco:

(1;FALSE;FALSE;FALSE;5;FALSE;7)

Cyfry 1, 5 i 7 odpowiadają miejscu „czerwonego” na liście.

Na koniec funkcja SMALL zwraca n-tą najmniejszą pozycję na tej liście, ignorując wartości FAŁSZ. W tym przykładzie F5 zawiera 2, więc SMALL zwraca drugą najmniejszą wartość: 5.

Uzyskaj powiązaną wartość

Po uzyskaniu względnej pozycji n-tego dopasowania można użyć tej pozycji z funkcją INDEKS, aby zwrócić skojarzoną wartość.

Interesujące artykuły...