Используйте значения в столбце 1 таблиц 1 и 2 в качестве исходных данных для следующей формулы. Подставьте их ссылки там, где у меня "E1":
=E1&" "&TEXTJOIN(" ",TRUE,SUBSTITUTE(FILTER(B1:B4&"|"&C1:C4,A1:A4=E1),"|"," "))
Если вы хотите использовать ARRAYTOTEXT(), он поставит запятую между информацией типа "a/k/a", поэтому вам нужно обернуть ее в еще один SUBSTITUTE(), чтобы заменить запятые пробелами:
=E1&" "&SUBSTITUTE(ARRAYTOTEXT(SUBSTITUTE(FILTER(B1:B4&"|"&C1:C4,A1:A4=E1),"|"," ")),",","")
Добавленный бит "|" предназначен для предотвращения странных совпадений. SUBSTITUITE() удаляет их из результата, ставя на их место нужный пробел.
Затем TEXTJOIN(), желательно, или ARRAYTOTEXT(), если вы не возражаете против добавления лишнего SUBSTITUTE(), соединит результат FILTER() (массив внутри формулы, даже в старых версиях) в нужную форму, и результат будет добавлен к значению столбца 1.
Функциональность таблицы копирует его вниз по столбцу.
Поскольку все это происходит без массивов DYNAMIC, это работает в таблицах. Только SPILL (динамический) аспект не работает. Таблица переносит формулу вниз, поэтому ввод {CSE} не требуется, что соответствует вашему условию.
Хотя {CSE} и SPILL не используются ВНЕ формулы, все внутренние массивы переносятся в формулу, позволяя FILTER() и TEXTJOIN() делать свою работу. Возникли бы проблемы, если бы вы действительно выводили результаты за два или более шагов в вспомогательные столбцы или именованные диапазоны, так что этот способ подходит.
Кроме того, не нужно мучиться, чтобы получить FILTER() в SPILL, поскольку в таблице этого все равно не будет.
Прикрепляю к посту несколько видео по теме: