Formula Excel: extrageți mai multe potriviri în coloane separate -

rezumat

Pentru a extrage mai multe potriviri în celule separate, în coloane separate, puteți utiliza o formulă matrice bazată pe INDEX și SMALL. În exemplul prezentat, formula din F5 este:

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

Aceasta este o formulă matrice și trebuie introdusă cu Control + Shift + Enter.

După ce introduceți formula în prima celulă, trageți-o în jos și peste pentru a completa celelalte celule.

Explicaţie

Notă: această formulă utilizează două intervale denumite: „nume” se referă la C5: C11 și „grupuri” se referă la B5: B11. Aceste nume sunt definite și în captura de ecran de mai sus.

Esența acestei formule este următoarea: folosim funcția SMALL pentru a genera un număr de rând corespunzător unui „al n-lea meci”. Odată ce avem numărul rândului, îl trecem pur și simplu în funcția de funcție INDEX, care returnează valoarea la acel rând.

Trucul este că SMALL funcționează cu o matrice care este construită dinamic de IF în acest bit:

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

Acest fragment testează intervalul numit „grupuri” pentru valoarea din E5. Dacă este găsit, returnează un număr de rând dintr-o matrice de numere de rând relative create cu:

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

Rezultatul final este un tablou care conține numere unde există o potrivire și FALSE unde nu:

(1; FALS; FALS; FALS; FALS; 6; FALS)

Această matrice intră în SMALL. Valoarea k pentru SMALL (nth) provine dintr-un interval de expansiune:

COLUMNS($E$5:E5)

Când este copiat pe tabelul de rezultate, intervalul se extinde, determinând creșterea lui k (nth). Funcția SMALL returnează fiecare număr de rând care se potrivește, care este furnizat funcției INDEX ca rând_num, cu gama numită „nume” ca matrice.

Gestionarea erorilor

Când COLUMNS returnează o valoare pentru k care nu există, SMALL aruncă o eroare #NUM. Acest lucru se întâmplă după ce au avut loc toate meciurile. Pentru a suprima eroarea, înfășurăm formula în funcția IFERROR pentru a prinde erori și a returna un șir gol ("").

Articole interesante...