Google Sheets ARRAYFORUMLA, которая может показывать 0, если значение меньше или равно нулю. В противном случае показать значение этого набора данных
У меня есть набор столбцов, которые я пытаюсь вычислить для общего количества этих столбцов, затем вычтите из этого общего 8, если разница после 8 равна или меньше 0, я хочу показать только ноль в столбце, который я делаю по этой формуле в. Для тех, кто может спросить, я использую ARRAYFORUMLA
потому что я хочу, чтобы это вычисление повторялось, когда я добавляю новые строки, сохраняя итоговые значения, которые я ищу, в той же строке, в которой выполняется вычисление. Пока у меня большая часть этой работы. Ну, до тех пор, пока порция типа ЕСЛИ. Моя попытка есть / была
=if(LTE((B3:B)+(C3:C)-8,0),ARRAYFORMULA((B3:B)+(C3:C)), 0)
3 ответа
Если вы хотите добавить каждую строку к итогу, но только если ее сумма равна 8 или больше, тогда ваша первоначальная формула была почти в порядке, но две части инструкции IF должны были быть обращены вспять
=sum(ArrayFormula(if(LTE((B3:B)+(C3:C)-8,0),0,(B3:B)+(C3:C))))
Вы также можете взять большинство скобок
=sum(ArrayFormula(if(LTE(B3:B+C3:C-8,0),0,B3:B+C3:C)))
и это также будет работать
=sum(ArrayFormula(if(LTE(B3:B+C3:C,8),0,B3:B+C3:C)))
Короткий ответ
ARRAYFORMULA, которая может показывать 0, если значение меньше или равно нулю. В противном случае показать значение этого набора данных:
=ArrayFormula(IF(LTE(A1:A3,0),0,A1:A3))
объяснение
Основной синтаксис IF требует использования скалярных значений, чтобы использовать его с массивами, ARRAYFORMULA требуется в качестве внешней функции:
ARRAYFORMULA(IF(array_logical_expression,array_if_true,array_if_false))
Для конкретного случая, описанного в основной части вопроса, соответствующая формула имеет вид:
=ARRAYFORMULA(IF(LTE(B3:B+C3:C-8,0),0,B3:B+C3:C))
Ссылка
Справка по редакторам Документов Google
Пока я вас правильно понимаю, я верю, что это сработает:
=if(lte(sum(B2:C)-8,0),0,sum(B2:C))
Он находится в верхней части строки и суммирует столбцы B и C. Таким образом, вы можете легко добавить больше столбцов, либо изменив B/C на что-то другое, либо передав больше столбцов.