Решение
Вы можете применить эту формулу для получения заголовков для каждой строки при наличии условия соответствия. Теперь, если список, который вам нужен, представляет собой строку (как в моем примере), вам придется перетаскивать формулу вниз для каждой строки, поскольку функция JOIN / TEXTJOIN не будет работать в большем диапазоне.
=ARRAYFORMULA(TEXTJOIN(", ",1,IF(B2:F2=1,$B$1:$F$1, "")))
Если вам просто нужно получить список в массиве и обработать его позже, вы можете фактически вернуть весь соответствующий массив, используя:
=ARRAYFORMULA(IF(B2:F=1,$B$1:$F$1, ""))