Как вы можете исключить строку из суммы на основе значения ячейки? - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть диапазон, который я хочу суммировать, это A2: M35. Однако, если в столбце N указано число 1, я хочу исключить всю эту строку из суммы. Итак, если N3 содержит 1, я хочу исключить диапазон A3: M3 из расчета суммы. Возможно ли это?

UPDATE:

Я должен также включить, что 1 или 0 в столбце N - это флаг, указывающий, должна ли эта строка быть исключена (1 = да, 0 = нет). Тем не менее, это значение определяется путем проверки того, что любые значения в этой строке = "исключены". Таким образом, дополнительная сложность здесь заключается в том, что, хотя строки с «исключенными» в них должны быть исключены, при вычислении суммы будет отображаться «#VALUE», поскольку он считает, что некоторые значения имеют неправильный тип данных (даже если они не должны быть включены).

1 Ответ

0 голосов
/ 05 сентября 2018

ПРОСТОЕ РЕШЕНИЕ (с вспомогательной колонкой)

Если вы можете, для простоты, я бы просто добавил вспомогательный столбец.

Так в ячейке О2:

=IF($N2=1,0,SUM($A2:$M2))

Перетащите это вниз в ячейку O35. Тогда вы можете просто:

=SUM($O$2:$O$35)

КОМПЛЕКСНОЕ РЕШЕНИЕ (без вспомогательной колонки)

Если вы не хотите, чтобы вспомогательный столбец загромождал ваш лист, вы можете использовать формулу SUMPRODUCT:

=SUMPRODUCT($A$2:$M$35,(LEN($A$2:$M$35)-LEN($A$2:$M$35))+NOT($N$2:$N$35))

КАК ЭТО РАБОТАЕТ:

Первый диапазон (A2: M35) - это массив (или в данном случае диапазон ячеек Excel), который вы хотите суммировать.

SUMPRODUCT будет принимать каждое значение в этом массиве и умножать его на каждое соответствующее значение в следующем массиве, который мы предоставляем, а затем суммировать все результаты вместе.

Проблема заключается в том, что первый массив представляет собой таблицу с 13 значениями в поперечнике и 34 значениями вниз. Второй массив (столбец N) имеет только 1 значение в поперечнике. SUMPRODUCT требует, чтобы все массивы были одинакового размера.

Для этого мы сначала создадим массив правильного размера:

(LEN(A2:M35)-LEN(A2:M35))

LEN возвращает массив, содержащий количество символов в каждой ячейке, переданной ему. Если мы заберем его у себя, у нас останется массив правильного размера, заполненный нулями.

Затем мы можем добавить значения в нашем меньшем массиве (столбец N) к нулям в массиве правильного размера, это заполнит все столбцы правильным значением.

+NOT(N2:N35))

НЕ существует, потому что мы хотим суммировать строки с нулем. Все, что он делает, это обменивает нули и единицы в столбце N. Итак, все 1 становятся 0 и наоборот.

Надеюсь, вы можете последовать моему объяснению. Если нет, пожалуйста, дайте мне знать, и я уточню.

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