[identity profile] playboylife.livejournal.com posting in [community profile] useful_faq
В нем есть очень удобная функция СУММЕСЛИ. То есть она суммирует все значения, удовлетворяющие критерию.

Проблема в том, что делать она это хочет только если значения расположены в одной строке или столбике и если выделить их например А1-А51. А мне нужно, чтобы ексель применил эту функцию к А4,А6,А8,А10 и т.д.. Выделяя через ктрл диапазон значений функция выдает #ЗНАЧ! и все. Очень нужна помощь. Спс.


зы. существует много таблиц для которых нужно посчитать суммы первых, вторых и так далее ячеек, только если эти суммы удовлетворяют критерию. сама таблица 12х15, а таблиц всего 23. вручную считать оч. долго. может если не ексель существуют еще способы?

Date: 2010-03-31 11:55 pm (UTC)
From: [identity profile] sam-buddy.livejournal.com
Проссумируйте нужные столбцы, а потом сложите.

Date: 2010-04-01 04:18 am (UTC)
From: [identity profile] besisland.livejournal.com
Добавьте в условие СУММЕСЛИ чётность номера строки через И. Хотя нет, там так не получится.
Edited Date: 2010-04-01 04:19 am (UTC)

Date: 2010-04-01 04:56 am (UTC)
From: [identity profile] miroshka.livejournal.com
(1) я вижу решение введением дополнительного столбца, содержащего формулу вида =IF(условие,A1,0), для которого можно посчитать сумму обычным способом.
(2) аналогично в случае нескольких таблиц: к каждой добавляется такой же столбец, потом формируется лист с итоговым столбцом, считающим обычные суммы для каждой ячейки добавленного столбца, формулой типа =SUM(Лист1:Лист23!B1).

Date: 2010-04-01 07:19 am (UTC)
From: [identity profile] miroshka.livejournal.com
вот что я имел в виду:


можно создавать и другие столбцы (C, D, E...) - с другими условиями и суммирующие другие строки.

Date: 2010-04-01 04:56 am (UTC)
From: [identity profile] uttha.livejournal.com
ну создайте еще столбец, вытяните в него нужные ячейки (четность легко раскопировать) и считайте его...

Date: 2010-04-02 03:50 am (UTC)
From: [identity profile] a-bronx.livejournal.com
Если набор требуемых ячеек совершенно нерегулярный, то можно выделить руками нужные ячейки, дать этой группе имя и скормить это имя как параметр для функции СУММЕСЛИ().

Если нужно выбрать только N-e строки, то нужно использовать формулу массива, например:
=SUM(IF(MOD(ROW(Range),N)=0, Range, 0))    // просто суммирование каждой N-й строки
=SUM(IF(MOD(ROW(Range),N)=0),IF(Range > 10, Range, 0), 0)  // суммирование каждой N-й строки, в которой значение превышает 10.

где Range - это диапазон, либо в виде A1:B99, либо как имя именованного диапазона.

НО! Формулу нужно вводить не просто Enter-ом, а Ctrl-Shift-Enter-ом, чтобы это была формула массива (в строке формул она будет заключена в фигурные скобки). Обычно функции IF и ROW требуют параметром одно значение, но мы не можем его дать в нашей формуле, так как нам нужно, чтобы _каждая_ ячейка была подставлена и проверена, непосредственно при вычислении суммы. Если вместо ячейки дать параметром диапазон/массив, и сохранить формулу как формулу массива, то Эксель сам подставит нужные ячейки, когда будет пробегать по диапазону/массиву. Т.е. это эквивалентно:
SUM = 0
FOREACH(Cell in Range)
    SUM = SUM + IF( MOD(ROW(Cell),N) = 0, Cell, 0)


Разумеется, можно применять любые другие условия фильтрации.