Формула на Excel: Извличане на множество съвпадения в отделни колони -

Обобщение

За да извлечете множество съвпадения в отделни клетки, в отделни колони можете да използвате формула на масив, базирана на INDEX и SMALL. В показания пример формулата във F5 е:

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

Това е формула на масив и трябва да се въведе с Control + Shift + Enter.

След като въведете формулата в първата клетка, плъзнете я надолу и назад, за да попълните останалите клетки.

Обяснение

Забележка: тази формула използва два именувани диапазона: "имена" се отнася до C5: C11, а "групи" се отнася до B5: B11. Тези имена са дефинирани и на снимката на екрана по-горе.

Същността на тази формула е следната: ние използваме функцията SMALL, за да генерираме номер на ред, съответстващ на „n-то съвпадение“. След като получим номера на реда, ние просто го предаваме във функцията INDEX функция, която връща стойността в този ред.

Номерът е, че SMALL работи с масив, който е динамично конструиран от IF в този бит:

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

Този фрагмент тества посочения диапазон "групи" за стойността в E5. Ако бъде намерен, той връща номер на ред от масив от относителни номера на редове, създаден с:

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

Крайният резултат е масив, който съдържа числа, където има съвпадение, и FALSE, където не:

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

Този масив преминава в МАЛКИ. Стойността k за SMALL (n-та) идва от разширяващ се диапазон:

COLUMNS($E$5:E5)

Когато се копира в таблицата с резултати, диапазонът се разширява, което води до увеличаване на k (nth). Функцията SMALL връща всеки съвпадащ номер на ред, който се предоставя на функцията INDEX като row_num, като наименованието на имената на диапазона е като масив.

Обработка на грешки

Когато COLUMNS връща стойност за k, която не съществува, SMALL извежда грешка #NUM. Това се случва, след като са настъпили всички мачове. За да потиснем грешката, обвиваме формулата във функцията IFERROR, за да уловим грешки и да върнем празен низ ("").

Интересни статии...