Попробуйте
=ARRAYFORMULA(TEXTJOIN(", ", TRUE, UNIQUE(TRANSPOSE(IF(REGEXMATCH(B2:D7,F1),A2:A7,)))))
РЕДАКТИРОВАТЬ: приведенная выше формула должна создать один столбец из соответствующих ячеек.Это должно работать
=ARRAYFORMULA(join(", ", substitute(unique(transpose(split(textjoin(" ", 1, query(UNIQUE(TRANSPOSE(IF(REGEXMATCH(B2:D7,F1),substitute(A2:A7, " ", "|"),))),,rows(A2:A7))), " "))), "|"," ")))
Но лучше / проще было бы попробовать что-то вроде
=JOIN(", ", FILTER(A2:A7, MMULT(--regexmatch(B2:D7, F1), TRANSPOSE(COLUMN(B1:D1)^0))>0))
Эта формула «подсчитывает» количество совпадений в строке, а затем возвращает FILTER ()значения в A с количеством> 0. Посмотрите, поможет ли это?