Страницы: 1
RSS
Суммирование значений в строке при условии хотя бы одного совпадения в столбце под этой ячейкой
 
Добрый день.

Прошу помочь разобраться в способе подсчёта, задача довольно интересная и никак не поддётся решению. В исходном файле 40+ столбцов.

Значение из строки 1 попадает в сумму, если в столбце под этим значением хотя бы одна ячейка содержит дату, удовлетворяющую критериям месяца Х.

Например, в указанной таблице (файл во вложении) результат вычисления часов обучения по месяцам будет таким:
  • июль: 20 часов (сумма ячеек C1+D1+E1, потом что в этих столбцах было хотя бы одно обучение в июле)
  • август: 24 часа (B1+C1+D1+E1)
  • сентябрь: 4 часа (B1)
  • октябрь: 24 часа (B1+C1+D1+E1)
Изменено: Misha M - 09.11.2021 17:39:27
 
, чет ничего не пришло в голову..с доп столбцами, или еще подумать формулой без доп. или макросом)
Изменено: Mershik - 09.11.2021 17:59:31
Не бойтесь совершенства. Вам его не достичь.
 
Спасибо, хороший вариант!
Для подсчёта сделаю доп. строки и просто их скрою
 
Еще один вариант, хоть и без доп. столбцов , но довольно колхозный. Наверное можно сделать матрицу, чтобы все найденные по каждому столбцу значения рассматривались как одно, и затем умножать на нужные числа, но тут нужно подумать.
 
memo, Спасибо, вариант рабочий. Но в исходной таблице 40+ столбцов и периодически они добавляются, поэтому довольно трудно будет делать таким способомю
Изменено: Misha M - 11.11.2021 10:22:44
 
Я тут немного поработал над этой задачкой. Вот окончательный вариант (формула массива):
Код
=MMULT(TRANSPOSE(IFERROR(MMULT(N(TRANSPOSE((MONTH($B$3:$E$9)=MONTH(A15)*ROW($B$3:$E$9)^0))),ROW($B$3:$E$9)^0)^0,)),--TRANSPOSE($B$1:$E$1))

В столбце D (зеленый шрифт) демонстрация принципа действия формулы. Теперь, по идее, добавлять столбцы будет намного легче.
Изменено: memo - 19.11.2021 23:16:13
Страницы: 1
Наверх