Использование функции массива с TEXTJOIN для объединения нескольких ячеек, но с несколькими критериями?

Я обнаружил, что следующая формула отлично работает, если я использую только один критерий.

{=TEXTJOIN("; ", 1, IF(A2:A9="USA", C2:C9, ""))}

Result: "Apples; Crust; Flour; Chocolate"

введите здесь описание изображения

Но как мне добавить несколько критериев. Например, я пробовал следующее:

{=TEXTJOIN("; ", 1, IF(AND(A2:A9="USA", B2:B9="Cake"), C2:C9, ""))}

Desired Result: "Flour; Chocolate"

Но эта формула не подходит. Есть ли способ получить 2+ критерия для работы с этой функцией Array TEXTJOIN?


person MrMusAddict    schedule 23.10.2018    source источник
comment
возможный дубликат TEXTJOIN для xl2010 / xl2013 с критериями.   -  person    schedule 24.10.2018


Ответы (1)


Я понял это через несколько мгновений после публикации этого. Ответ - использовать вложенный ЕСЛИ вместо функции И внутри одного ЕСЛИ.

Пример:

{=TEXTJOIN("; ", 1, IF(A2:A9="USA", IF(B2:B9="Cake",C2:C9, ""),""))}
person MrMusAddict    schedule 23.10.2018
comment
У меня нет самой последней версии Excel, поэтому у меня нет возможности проверить это, но вместо вложенных операторов IF можно использовать оператор MATCH в формуле массива для возврата всех результатов, а не только первый? Используя это как часть формулы: MATCH("USA"&"CAKE",A2:A9&B2:B9,0) - person jeranon; 24.10.2018
comment
@jeranon, какой в ​​этом смысл? Даже если бы у вас все заработало, результаты были бы идентичными, и вы увеличиваете вычислительную нагрузку. - person ; 24.10.2018
comment
@Jeeped Я думаю, что это будет меньше шагов расчета, чем вложенный оператор IF, и если будет меньше шагов расчета, он будет намного удобнее масштабироваться в макроуровне. - person jeranon; 24.10.2018
comment
Нет, было бы то же самое или больше. То же самое, если все строки совпадают, больше, если есть несоответствия. Вложенный IF (... IF (... 'короткое замыкание' означает, что второй не вычисляется, если первый дает сбой. С вашим методом, оба всегда вычисляются. - person ; 24.10.2018
comment
@jeeped thanx! Я ценю объяснение. - person jeranon; 24.10.2018