Я пытаюсь выполнить TEXTJOIN на основе нескольких столбцов, в данном случае столбцы B и D в пределах выбранного диапазона (если столбец A = G9 и столбец C = H9), игнорируя элементы в столбце D, которые не находятся в диапазоне G2: G5 ( если столбец D = элемент в диапазоне G2:G5). Все, что я пытаюсь, похоже, приводит к NA #
Я все еще получаю ошибки, когда использую массив ctr+shift+enter
Будет ли это работать:
=TEXTJOIN(" | ",TRUE,IF(A2:A17=G9,IF(C2:C17=H9,IF(D2:D17=TRANSPOSE(G2:G5),E2:E17,""))))
Подтверждено через CtrlShiftEnter
К сожалению, у меня нет textjoin, и я не могу проверить себя.
Чтобы уточнить, я полагаю, вам нужна функция TRANSPOSE()
. Прямо сейчас вы сравниваете вертикальный диапазон с вертикальным диапазоном. Это может вызвать проблемы, ошибку N/A#
, из-за разного размера сравниваемых массивов. Я сам был смущен таким поведением и задал вопрос по этому поводу на здесь. Данный ответ был очень полезен для уточнения этого поведения Excel.
Надеюсь, это решит вашу проблему :)
РЕДАКТИРОВАТЬ
Я хотел бы поиграть с 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 | ","")
Введено как массив
Спасибо, это становится намного ближе, чем NA #, которые я получал раньше. Он захватывает правильные комментарии, но добавляет кучу ЛОЖЬ между ними: комментарий 1 | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | комментарий 4 | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | комментарий 6 | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | комментарий 9 | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | ЛОЖНЫЙ
@ChrisBak, мне жаль, что у меня не было лицензии Excel 2019, чтобы самому поиграть с TEXTJOIN(), чтобы избавиться от этих ЛОЖНЫХ значений для вас. Возможно, попробуйте отредактированный ответ для временного «патча»
Спасибо JvdV, это работает очень хорошо: комментарий 1 | комментарий 4 | комментарий 6 | комментарий 9
У меня возникла еще одна странная проблема, когда я пытаюсь использовать динамические именованные диапазоны, кажется, диапазон меняется. Например, =OFFSET('данные ABAK'!F$2,0,0,COUNTA('данные ABAK'!$F:$F),1) изменит формулу диапазона на: =OFFSET('данные ABAK'!XEV $2,0,0,COUNTA('данные ABAK'!$F:$F),1) как только я нажму CTR-CHIFT-ENTER и получу значение#
Привет, я думаю, что вам может не хватать Ctrl+Shift+Ввод при работе с массивами в функции TextJoin.