Formuła programu Excel: wyodrębnij wiele dopasowań do oddzielnych kolumn -

Podsumowanie

Aby wyodrębnić wiele dopasowań do oddzielnych komórek, w oddzielnych kolumnach możesz użyć formuły tablicowej opartej na INDEKS i MAŁE. W pokazanym przykładzie formuła w F5 to:

(=IFERROR(INDEX(names,SMALL(IF(groups=$E5,ROW(names)-MIN(ROW(names))+1),COLUMNS($E$5:E5))),""))

To jest formuła tablicowa i należy ją wprowadzić za pomocą Control + Shift + Enter.

Po wprowadzeniu formuły w pierwszej komórce przeciągnij ją w dół i w poprzek, aby wypełnić pozostałe komórki.

Wyjaśnienie

Uwaga: ta formuła wykorzystuje dwa nazwane zakresy: „nazwy” odnoszą się do C5: C11, a „grupy” odnoszą się do B5: B11. Nazwy te są również zdefiniowane na powyższym zrzucie ekranu.

Istota tej formuły jest taka: używamy funkcji SMALL, aby wygenerować numer wiersza odpowiadający „n-temu dopasowaniu”. Gdy mamy numer wiersza, po prostu przekazujemy go do funkcji INDEKS, która zwraca wartość w tym wierszu.

Sztuczka polega na tym, że SMALL pracuje z tablicą, która jest dynamicznie konstruowana przez IF w tym bicie:

IF(groups=$E5,ROW(names)-MIN(ROW(names))+1)

Ten fragment kodu testuje nazwane „grupy” zakresu pod kątem wartości w E5. Jeśli zostanie znaleziony, zwraca numer wiersza z tablicy względnych numerów wierszy utworzonej za pomocą:

ROW(names)-MIN(ROW(names))+1

Ostatecznym wynikiem jest tablica zawierająca liczby, w których występuje zgodność, i FALSE, gdy nie:

(1; FALSE; FALSE; FALSE; FALSE; 6; FALSE)

Ta tablica przechodzi do SMALL. Wartość k dla SMALL (n-ty) pochodzi z rozszerzającego się zakresu:

COLUMNS($E$5:E5)

Po skopiowaniu w tabeli wynikowej zakres rozszerza się, powodując przyrost k (n-tego). Funkcja SMALL zwraca każdy pasujący numer wiersza, który jest dostarczany do funkcji INDEKS jako numer_wiersza, z nazwanym zakresem „nazwy” jako tablicą.

Obsługa błędów

Gdy COLUMNS zwraca wartość k, która nie istnieje, SMALL zgłasza błąd #NUM. Dzieje się tak po wystąpieniu wszystkich dopasowań. Aby pominąć błąd, zawijamy formułę w funkcję JEŻELI BŁĄD, aby wychwycić błędy i zwrócić pusty ciąg („”).

Interesujące artykuły...