Как сложить значения в строке Excel из строки, в которой было определённое значение в другом столбце

Вопрос или проблема

Если в строке из другого столбца есть слово (например, Sum), как сделать так, чтобы другой столбец суммировал все числа под последним Sum до предыдущей строки?

Мне нужна формула для вставки в O5, O8 и O13. Если возможно, O2 и ниже должны делать это через табличные формулы, поскольку N1:O – это таблица, называемая Table1.

В конце концов формула должна выглядеть как =if(exact(N1, "Sum"), ???, RANDBETWEEN(1, 1000)) – RANDBETWEEN – это просто пример, это будет другая формула для определения фактических чисел.

  N O
1 Sum Числа
2 20
3 35
4 10
5 Sum =? должно быть 65
6 230
7 70
8 Sum =? должно быть 300
9 1
10 2
11 3
12 4
13 Sum =? должно быть 10

Попробуйте эту формулу в O2 и ниже:

=IF(EXACT(N2, "Sum"), SUM(O$1:O1)-2*SUMIF(N$1:N1, "Sum", O$1:O1), RANDBETWEEN(1,100))

Вот демонстрация в AI2:
=IF(EXACT(AH2,"Sum"),SUM(AI$1:AI1)-2*SUMIF(AH$1:AH1,"Sum",AI$1:AI1),RANDBETWEEN(1,100))
Sum_numbers

Попробуйте следующее:

 =SUM(O$2:O4)-SUMIF(N$2:N4,"Sum",O$2:O4)*2

В сущности, это суммирует весь столбец, а затем вычитает ранее рассчитанные суммы.

Пример:

вставьте описание изображения здесь

Если вы хотите, чтобы суммы были в столбце P, как на скриншоте вашего комментария, используйте следующее:

=IF(N2="Sum",SUM(O1:O$2)-SUMIF(N1:N$2,"Sum",P1:P$2),"")

пример:

вставьте описание изображения здесь

Ответ или решение

Для того чтобы суммировать значения в столбце O на основании наличия определённого значения (например, "Sum") в столбце N, можно использовать несколько подходов. Важно правильно установить формулы в нужных ячейках и обеспечить адекватные ссылки на диапазоны данных.

Подход 1: Формулы в ячейках O5, O8 и O13

Для ячеек O5, O8 и O13 мы будем использовать формулу, которая суммирует значения в столбце O, основываясь на том, что в строке N встречается текст "Sum". Формула будет иметь следующий вид:

=SUM(INDIRECT("O" & (ROW()-3) & ":O" & (ROW()-1))) - SUMIF(N$1:N$4, "Sum", O$1:O$4)*2

Разбор формулы:

  1. INDIRECT("O" & (ROW()-3) & ":O" & (ROW()-1)) – создаёт динамический диапазон, который берёт строки от две выше текущей до одной выше текущей.
  2. SUM(...) – суммирует значения в этом диапазоне.
  3. SUMIF(N$1:N$4, "Sum", O$1:O$4)*2 – подсчитывает сумму всех значений, находящихся в пределах от первой строки до текущей строки, где встречается "Sum", и удваивает их.

Подход 2: Формулы в O2 и ниже с использованием таблицы

В ячейках O2 и ниже можно использовать формулу с условием, которая будет обрабатывать все строки в таблице. Пример формулы:

=IF(EXACT(N2, "Sum"), SUM(O$1:O1) - 2*SUMIF(N$1:N1, "Sum", O$1:O1), RANDBETWEEN(1,100))

Разбор формулы:

  1. EXACT(N2, "Sum") – проверяет, является ли значение в ячейке N2 точно словом "Sum".
  2. SUM(O$1:O1) – суммирует все значения из столбца O до текущей строки.
  3. SUMIF(N$1:N1, "Sum", O$1:O1)*2 – суммирует значения в столбце O для всех строк, которые содержат "Sum" в столбце N.
  4. RANDBETWEEN(1,100) – генерирует случайное число, если в текущей строке в столбце N не содержится "Sum".

Заключение

В описанном подходе предлагаются формулы, которые помогут вам суммировать значения в Excel по заданным условиям. Настроив их в соответствии с вашими нуждами, вы сможете легко управлять данными и получать результаты без необходимости ручного пересчёта. Такие методы отлично подходят для бизнес-анализа, финансовых отчётов и других задач, где требуется структурированный подход к данным.

Оцените материал
Добавить комментарий

Капча загружается...