Динамические ИЛИ критерии для SUMIFS - PullRequest
0 голосов
/ 16 мая 2018

У меня есть формула, как показано ниже

=SUM(SUMIFS('Sheet1'!$AK:$AK,'Sheet1'!$AL:$AL,"<=0",'Sheet1'!$N:$N,C2))

Я хочу, чтобы C2 представлял собой динамическое поле с несколькими критериями ИЛИ, которое может варьироваться от 1 до 4 критериев.

Если бы оно было статичным, формула была бы примерно такой:

 =SUM(SUMIFS('Sheet1'!$AK:$AK,'Sheet1'!$AL:$AL,"<=0",'Sheet1'!$N:$N,{"262","261","200"}))

Как мне это сделать? Я не могу заставить его работать с {"262", "261", "200"} в качестве значения в C2.

Приведенные ниже значения также не работают после наличия различных значений в C2, C3, C4

.
=SUM(SUMIFS('Sheet1'!$AK:$AK,'Sheet1'!$AL:$AL,"<=0",'Sheet1'!$N:$N,{C2,C3,C4}))

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Попробуйте следующее:

=SUM(SUMIFS(Sheet1!$AK:$AK,Sheet1!$AL:$AL,"<=0",Sheet1!$N:$N,FILTERXML("<t><s>" & SUBSTITUTE(C2, ",", "</s><s>") & "</s></t>", "//s")))

Кредит Вафа Сармаст за разбиение на технику массива.

При использовании формулы оценки кажется, что числа заключаются в теги <s>, которые затем используются через xpath //s, чтобы вернуть все совпадающие элементы в виде списка, то есть числа в виде массива. Для вставки тегов используется замена существующего разделителя вместе с конкатенацией (& "</s></t>"). По крайней мере, это мое понимание.

Введите с помощью Ctrl + Shift + Введите в качестве формулы массива.

Значения вводятся через запятую в C2

Formula

Информация:

FILTERXML

0 голосов
/ 16 мая 2018

Попробуйте следующую формулу.SUMIFS() поддерживает несколько критериев, поэтому вы можете использовать C2, C3, C4 в качестве критериев.

=SUM(SUMIFS(Sheet1!$AK:$AK,Sheet1!$AL:$AL,"<=0",Sheet1!$N:$N,C2,Sheet1!$N:$N,C3,Sheet1!$N:$N,C4))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...