Будет ли это работать:
=TEXTJOIN(" | ",TRUE,IF(A2:A17=G9,IF(C2:C17=H9,IF(D2:D17=TRANSPOSE(G2:G5),E2:E17,""))))
Подтверждено с помощью Ctrl Shift Ввод
К сожалению, у меня нет текстового соединения и я не могу проверить себя.
Для уточнения, я полагаю, вам нужна функция TRANSPOSE()
. Прямо сейчас вы сравниваете вертикальный диапазон с вертикальным диапазоном. Это может вызвать проблемы, ошибки N/A#
, из-за разного размера сравниваемых массивов. Я сам был смущен этим поведением и задал вопрос по этому вопросу на здесь . Полученный ответ был очень полезен для уточнения этого поведения в Excel.
Надеюсь, это решит вашу проблему:)
EDIT
Хотелось бы поэкспериментировать с TEXTJOIN()
, чтобы помочь вам, но чтобы иметь временный патч, пока кто-то на самом деле не сможет вам помочь, вы можете попробовать реализовать некоторые SUBSTITUTE()
функции для перехвата значений FALSE
следующим образом :
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXTJOIN(" | ",TRUE,IF(A2:A17=G9,IF(C2:C17=H9,IF(D2:D17=TRANSPOSE(G2:G5),E2:E17,""))))," | FALSE ",""),"| FALSE",""),"FALSE | ","")
Введено как массив