Страницы: 1
RSS
Подсчет количества ячеек по условию в книге
 
Как реализовать подсчет количества ячеек по условию, в книге, не на листе. Ячейки находятся в одном и том же месте листа в заданном диапазоне листов.  
=СУММЕСЛИ(Лист1:Лист3!A1;1) не работает
 
Непустые ячейки именно посчитать можно так =СЧЁТ(Лист1:Лист3!A1)  
Но вроде вкратце обсуждалось на форуме, что сквозное суммирование стандартными средствами экселя работает только с невкусными формулами. Могу ошибаться, но очень в этом сомневаюсь.  
 
Макросами вроде бы можно.
 
Такие варианты
KL
 
Увы фраза "по условию" все портит. Надо посчитать ячейки с условием цвет, число и тд. В конкретном примере сколько едениц сколько двоек.
 
{quote}{login=Shevard}{date=29.07.2009 01:46}{thema=}{post}Увы фраза "по условию" все портит. Надо посчитать ячейки с условием цвет, число и тд. В конкретном примере сколько едениц сколько двоек.{/post}{/quote}  
 
И не просто посчитать, а чтобы считалось автоматически. При изменениях в ячейках.  
В данном случае у меня четыре варианта заполнения ячеек, пустая, 1,2,3.
 
От суммы к количеству несложно перейти, если немного перефразировать одну из формул KL:  
=СУММ(СЧЁТЕСЛИ(ДВССЫЛ("'Лист"&{1;2;3}&"'!A1");1))  
где 1 - критерий
 
{quote}{login=ZVI}{date=29.07.2009 02:28}{thema=}{post}От суммы к количеству несложно перейти, если немного перефразировать одну из формул KL:  
=СУММ(СЧЁТЕСЛИ(ДВССЫЛ("'Лист"&{1;2;3}&"'!A1");1))  
где 1 - критерий{/post}{/quote}  
 
:) =СУММПРОИЗВ(СУММЕСЛИ(ДВССЫЛ("'"&Sheets&"'!A1");1)) именно к этому я и пришел по наводке KL.  
и =СУММ(СЧЁТЕСЛИ(ДВССЫЛ("'Лист"&{1;2;3}&"'!A1");1)) тоже конечно подходит  
спасибо всем.  
(в этом месте "танцующий человечек")
 
Упс, а если в ячейке не "1" то потом все делить на критерий поиска?"*" :) хорошо если критерий поиска число а если пустая клетка, знак, цвет.
 
{quote}{login=Shevard}{date=29.07.2009 03:28}{thema=}{post}Упс, а если в ячейке не "1" то потом все делить на критерий поиска?"*" :) хорошо если критерий поиска число а если пустая клетка, знак, цвет.{/post}{/quote}  
А если упс, то см. мой пост выше :-)  
Критерий может быть число или текст. Критерий для пустой клетки: ""  
Для цвета проще всего, если этот цвет определяется числом в доп. ячейках.
 
{quote}{login=Shevard}{date=29.07.2009 03:28}{thema=}{post}Упс, а если в ячейке не "1" то потом все делить на критерий поиска?"*" :) хорошо если критерий поиска число а если пустая клетка, знак, цвет.{/post}{/quote}  
 
=СУММПРОИЗВ(СУММЕСЛИ(ДВССЫЛ("'"&Sheets&"'!A1");1)) не работает правильно    
работает =СУММ(СЧЁТЕСЛИ(ДВССЫЛ("'Лист"&{1;2;3}&"'!A1");1)).
 
{quote}{login=Shevard}{date=29.07.2009 03:37}{thema=Re: }{post}{quote}{login=Shevard}{date=29.07.2009 03:28}{thema=}{post}Упс, а если в ячейке не "1" то потом все делить на критерий поиска?"*" :) хорошо если критерий поиска число а если пустая клетка, знак, цвет.{/post}{/quote}  
 
=СУММПРОИЗВ(СУММЕСЛИ(ДВССЫЛ("'"&Sheets&"'!A1");1)) не работает правильно    
работает =СУММ(СЧЁТЕСЛИ(ДВССЫЛ("'Лист"&{1;2;3}&"'!A1");1)).{/post}{/quote}  
Работает, но сначала нужно создать имя Sheets с формулой: =ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1+0*ТДАТА()) через меню Вставка-Имя-Присвоить и при открытии файла разрешать макросы. И еще этот вариант включает все листы в книге без исключения.
KL
 
Насчет того, чтобы считалось автоматически при изменении ячеек... Имейте в виду, что никакое из изменений формата ячейки, включая цвет, не провоцирует события пересчета. И макрос этого тоже не отследит. И в том и в другом случае, для обновления результата формулы придется дожидаться или провоцировать специально следующее действие вызывающее событие пересчета. А это чревато ошибками при чтении результата. Поэтому, рекомендую отказаться от затеи с цветом и последовать совету ZVI, либо, если это возможно, использовать в СУММЕСЛИ()/СЧЕТЕСЛИ() тот самый критерий который определяет искомый цвет.
KL
Страницы: 1
Читают тему
Наверх