Посчитайте MAX последовательных значений с несколькими критериями - PullRequest
0 голосов
/ 24 февраля 2019

Я хочу получить максимально последовательные значения для подсчета по нескольким критериям.Я нашел эту формулу онлайн

=ArrayFormula(MAX(FREQUENCY(IF($B$2:$B="WIN",ROW($B$2:$B)),IF($B$2:$B<>"WIN",ROW($B$2:$B)))))

, и она отлично работает по одному критерию, считая «выиграть» и / или «купить» сама по себе.Но я хочу получить максимальное число подряд, когда два критерия удовлетворены одновременно, что-то вроде перекрестной ссылки.

sample pic

Как и в приведенном выше примере, я хочу, чтобы максимальное число последовательных "buy" равнялось 5, а "win" - само по себе4. Но я хочу максимальное количество последовательных подсчетов, когда они происходят вместе, что в приведенном выше примере составляет всего 2 раза.

Я пытался изменить эту формулу различными способами, но так и не получил правильный результат.

Вот пример документа .

1 Ответ

0 голосов
/ 25 февраля 2019

Вы должны объединить условия для "Buy" и "Win" с умножением в формуле массива, чтобы получить AND.Тогда вам нужно отрицать это выражение во второй части ЧАСТОТЫ.Вы можете использовать NOT с тем же выражением:

=ArrayFormula(MAX(FREQUENCY(IF((A2:A="Buy")*($B$2:$B="WIN"),ROW($B$2:$B)),IF(not((A2:A="Buy")*($B$2:$B="WIN")),ROW($B$2:$B)))))

или использовать немного логической логики, чтобы преобразовать его в выражение OR, используя сложение, как показано ниже:

=ArrayFormula(MAX(FREQUENCY(IF((A2:A="Buy")*($B$2:$B="WIN"),ROW($B$2:$B)),IF((A2:A<>"Buy")+($B$2:$B<>"WIN"),ROW($B$2:$B))))) 

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...