Есть несколько способов сделать это, но если вы хотите применить его ко всему столбцу, вам нужно использовать arrayformula () для всего этого. Для этого вы ограничены. Мне нравится размещать arrayformula () в строке заголовка, чтобы он был защищен. Для ваших нужд это будет выглядеть примерно так:
=ARRAYFORMULA(if(ROW(A1:A) = 1, "Sum Row", IF(A1:A = 1, B1:B + C1:C + D1:D, )))
Первое, что он делает, это использует IF (), который проверяет, работает ли он в первой строке. Если это так, он помещает туда кусок текста. «Sum Row» в данном случае, без кавычек, конечно.
Для любой другой строки, если IF () приводит к ложному значению, то есть ко второй половине или части FALSE. Это еще один IF (), который проверяет значение столбца А. этой строки. Если значение равно 1, он выполняет ИСТИННУЮ часть, которая должна добавить столбцы этой строки от B до D. Здесь мы не можем использовать SUM (), потому что это суммирует все строки Часть FALSE этого IF () ничего не возвращает.
Если вы хотите иметь значение, когда в столбце A есть что-то, а значение, когда его нет, вы можете добавить туда другой IF. используя ISBLANK (), чтобы увидеть, есть ли значение в столбце A:
=ARRAYFORMULA(if(ROW(A1:A) = 1, "Sum Row", IF(A1:A = 1, B1:B + C1:C + D1:D, IF(ISBLANK(A1:A), , 0))))
Добавлено на основе комментария OP:
Если вы не помечаете свои столбцы в строке 1, вы можете поместить следующее в верхнюю ячейку, где вы хотите начать показ суммы строки, когда ячейка этой строки имеет значение 1:
=ARRAYFORMULA(IF(A1:A = 1, B1:B + C1:C + D1:D, ))
Предполагая, что ARRAYFORMULA () помещается в ячейку в строке 1, он просматривает ссылки, такие как A1: A, и заменяет их на A (rownumber), так что для строки 9 все ссылки в приведенной выше формуле изменяются на A9, B9, C9 и D9. В строке 9 формула смотрит на ячейку A9, и если она равна 1, она добавляет B9, c9 и D9, чтобы дать вам их сумму, и помещает ее в строку 9, где формула находится. Так что, если формула находится в ячейке G1, она будет помещена ответ для строки 9 в ячейке G9. Если A9 не равно 1, это ничего не поместит в ячейку G9. Если вы хотите, чтобы 0 вместо ничего, когда ячейка A в данной строке имеет значение, отличное от единицы, добавьте ISBLANK (), как показано ниже:
=ARRAYFORMULA(IF(A1:A = 1, B1:B + C1:C + D1:D, IF(ISBLANK(A1:A), , 0)))
В приведенном выше примере для строки 9 это даст вам 0, если ячейка A9 имеет значение, которое не равно 1, и не будет ничего помещать в ячейку, если A9 пусто, означая, что она не имеет значения.
Karl