#excel #if-statement #google-sheets #google-sheets-formula #nested-if
Вопрос:
Хотите подсчитать максимальное/максимальное/наибольшее количество последовательных ячеек с положительными или отрицательными числами в диапазоне / столбце.
Этот ресурс описывает метод, который, по-видимому, хорошо работает в большинстве случаев, но для конкретного листа, на котором он мне нужен, он возвращает число, слишком большое, чтобы быть правильным.
Для Отрицательных:
=arrayformula(MAX(FREQUENCY(IF(Daily!P5:P<0,ROW(Daily!P5:P),""),IF(Daily!P5:P>=0,ROW(Daily!P5:P),""))))
Для Положительного:
=arrayformula(MAX(FREQUENCY(IF(Daily!P5:P>0,ROW(Daily!P5:P),""),IF(Daily!P5:P<=0,ROW(Daily!P5:P),""))))
Вот копия электронной таблицы. Лист 1 содержит формулы различными способами. Первые две версии показывают, как формулы работают с тестовым диапазоном. Во вторых двух версиях показана формула, используемая для фактических данных. Вот тут-то и возникает проблема. Для отрицательных чисел это работает. Но для положительных чисел он показывает 68 последовательных чисел, а в диапазоне даже нет 68 последовательных чисел.
Мне интересно, является ли эта проблема результатом какой-то идиосинкразии с Google Таблицами и как используются эти функции.
Ответ №1:
это вызвано вашей формулой в столбце B. менять:
=IF(ISBLANK($A5), "", IF(NetGross="Gross",
SUMIF(Date, $A5, GrossReturnDollar), SUMIF(Date, $A5, NetReturnDollar)))
к этому:
=IF(ISBLANK($A5),, IF(NetGross="Gross",
SUMIF(Date, $A5, GrossReturnDollar), SUMIF(Date, $A5, NetReturnDollar)))
или:
=IF(ISBLANK($A5), IF(,,), IF(NetGross="Gross",
SUMIF(Date, $A5, GrossReturnDollar), SUMIF(Date, $A5, NetReturnDollar)))
Комментарии:
1. Спасибо! Знаете ли вы, почему «» считается положительным?
2. @willbeing, хотя кажется, что
""
это приводит к пустой ячейке — это неправда. вы вставляете «ничего» в ячейку, поэтому ячейка действительно не пуста. там просто полно «никаких персонажей». его распространенная ошибка — использовать""
в качестве пустого держателя. вместо этого либо пропустите""
и продолжите с запятой, либо используйте пустой, если хотитеIF(,,)