Вы должны добавить ВПР для каждого столбца и после сборки результата
Следуя схеме:
A7 -> =IF(IFERROR(VLOOKUP($A$9;A1:A5;1;);"")="";"";A1) and autocomplete
D9 -> =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(CONCATENATE(A7;",";B7;",";C7;",";D7;",";E7;",";F7);",,";",");",,";",");",,";",")
D10 -> =IF(RIGHT(D9;1)=",";LEFT(D9;LEN(D9)-1);D9)
Формула для D9 & D1 0 это только хорошее отображение результатов.
UPDATE Версия: Учитывая вы согласны иметь строку 7 ... Вы можете simplyfy по формуле Результат:
=INDEX(List;SMALL(IF(List<>"";COLUMN(List)-MIN(COLUMN(List))+1);1))&IFERROR(", " & INDEX(List;SMALL(IF(List<>"";COLUMN(List)-MIN(COLUMN(List))+1);2));"")&IFERROR(", " & INDEX(List;SMALL(IF(List<>"";COLUMN(List)-MIN(COLUMN(List))+1);3));"")
Список это имя Диапазон Роу 7. Формула должны применяться с помощью Ctrl + Shift + Enter.
Эта формула собирает первое значение 3.
Если вы хотите больше, то добавьте для каждого п-го значения у вас есть:
&IFERROR(", " & INDEX(List;SMALL(IF(List<>"";COLUMN(List)-MIN(COLUMN(List))+1);3));"")
изменения последнего NUMER (в данном случае 3) и положить 4, 5, 6 ...
Obviusly, если результат может быть много, имеют мало смысла ... Рассмотрите возможность использования VBA!
Я бы предположил, что у вас есть это в VBA, я не могу придумать способ сделать это с помощью только формул excel. Возможно, вам нужно будет изучить учебное пособие, в котором вы узнаете об основных принципах, например, о том, как пройти через диапазон ячеек, если вы еще не знакомы. – ChrisProsser
12 столбцов всего или более? «Март, июнь» в одной ячейке? – pnuts