Екцел формула: Издвоји више подударања у засебне колоне -

Резиме

Да бисте издвојили више подударања у одвојене ћелије, у засебним колонама можете користити формулу низа засновану на ИНДЕКС и СМАЛЛ. У приказаном примеру, формула у Ф5 је:

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

Ово је формула низа и мора се унети са Цонтрол + Схифт + Ентер.

Након што унесете формулу у прву ћелију, превуците је надоле и попуните да бисте попунили остале ћелије.

Објашњење

Напомена: ова формула користи два именована опсега: „имена“ се односе на Ц5: Ц11, а „групе“ се односе на Б5: Б11. Ова имена су дефинисана и на снимку екрана изнад.

Суштина ове формуле је следећа: користимо функцију СМАЛЛ за генерисање броја реда који одговара „н-том поклапању“. Једном када добијемо број реда, једноставно га проследимо у функцију функције ИНДЕКС, која враћа вредност у том реду.

Трик је у томе што СМАЛЛ ради са низом који динамички конструише ИФ у овом биту:

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

Овај исечак тестира именовани опсег „групе“ за вредност у Е5. Ако се пронађе, враћа број реда из низа релативних бројева редова створених са:

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

Коначни резултат је низ који садржи бројеве тамо где постоји подударање, а ФАЛСЕ тамо где не:

(1; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; 6; ФАЛСЕ)

Овај низ прелази у СМАЛЛ. К вредност за СМАЛЛ (нтх) долази из опсега који се шири:

COLUMNS($E$5:E5)

Када се копира преко табеле резултата, опсег се шири, што доводи до повећања к (н-те). Функција СМАЛЛ враћа сваки одговарајући број реда, који се функцији ИНДЕКС испоручује као број_реда, са именованим опсегом "имена" као низом.

Руковање грешкама

Када ЦОЛУМНС врати вредност за к која не постоји, СМАЛЛ баца грешку #НУМ. То се дешава након што су се одиграле све утакмице. Да бисмо сузбили грешку, умотавамо формулу у функцију ИФЕРРОР да бисмо ухватили грешке и вратили празан низ ("").

Занимљиви Чланци...