Страницы: 1
RSS
Подсчет количества ячеек, связанных с другими ячейками
 
Подскажите, пожалуйста, как можно подсчитать ячейки с определенным значением, которые при этом еще должны соответствовать определенным данным в других ячейках?  
 
Т.е. нужно сделать сводную таблицу, где считается, сколько раз одному значению соотвествовало другое значение.
 
{quote}{login=Itsuya}{date=11.03.2011 06:14}{thema=Подсчет количества ячеек, связанных с другими ячейками}{post}...как можно подсчитать ячейки с определенным значением...{/post}{/quote}  
Запросто. Формулой. Макросом.  
Пример покажете или нам самим табличку рисовать?
 
{quote}{login=Itsuya}{date=11.03.2011 06:14}{thema=Подсчет количества ячеек, связанных с другими ячейками}{post}Подскажите, пожалуйста, как можно подсчитать ячейки с определенным значением, которые при этом еще должны соответствовать определенным данным в других ячейках?  
 
Т.е. нужно сделать сводную таблицу, где считается, сколько раз одному значению соотвествовало другое значение.{/post}{/quote}  
 
пишите так  
for j=nacholo intervala_1i tablichki to konec intevala 1i tablichki  
for i=nacholo intervala_2i_tablichki to konec_intervala_2i tablichki  
if list1.cells(i,nomer_stolbca) = list2.cells(i,nomer_stolbca)//предположим что они в одном и томже месте тольоко на разных листах then    
сумируете 1 куда вам надо и так далше,  
next  
next  
 
что полезно выше написаного? алгоритм с 2мя фор что пробежит 2ю таблицу дял каждого значения с 1й и остановится(плюсует 1) там где они совпали
 
{quote}{login=vikttur}{date=11.03.2011 07:53}{thema=Re: Подсчет количества ячеек, связанных с другими ячейками}{post}{quote}{login=Itsuya}{date=11.03.2011 06:14}{thema=Подсчет количества ячеек, связанных с другими ячейками}{post}...как можно подсчитать ячейки с определенным значением...{/post}{/quote}  
Запросто. Формулой. Макросом.  
Пример покажете или нам самим табличку рисовать?{/post}{/quote}  
 
В примере нужно, чтобы в выделенном желтым цветом диапазоне цифры проставлялись автоматически: считать, сколько людей с результатом "неуд." пересдали на неуд., удовл. и т.д.  
 
Желательно сделать это формулой в ячейке.
 
=СУММПРОИЗВ(--(R1C3:R30C3=R[-7]C10);--(R1C4:R30C4=R2C))
 
В "нормальном" стиле:  
=СУММПРОИЗВ(--($C$1:$C$30=$J3);--($D$1:$D$30=L$2))
 
{quote}{login=vikttur}{date=14.03.2011 09:14}{thema=}{post}В "нормальном" стиле:  
=СУММПРОИЗВ(--($C$1:$C$30=$J3);--($D$1:$D$30=L$2)){/post}{/quote}  
 
Насколько я понимаю, СУММПРОИЗВ использует числовые значения, прочие оно воспринимает как 0, результат получается соответствующий. Что делать, если значения в ячейках все-таки не числовые и считать надо количество ячеек с определенным значением?
 
В данном случае функция работает с условиями, ей все равно, 1=2 или Вася=Петя.  
Показанная формула со стилем R1C1 "сдвинута", проверялась в стороне от таблицы, оттуда и скопировани. Для первой ячейки (R3C12):  
=СУММПРОИЗВ(--(R1C3:R30C3=RC10);--(R1C4:R30C4=R2C))  
Или в меню Сервис-Параметры-Общие-Параметры меняйте Стиль_ссылок и применяйте вторую формулу (со стилем А1).
 
{quote}{login=vikttur}{date=14.03.2011 10:39}{thema=}{post}В данном случае функция работает с условиями, ей все равно, 1=2 или Вася=Петя.  
Показанная формула со стилем R1C1 "сдвинута", проверялась в стороне от таблицы, оттуда и скопировани. Для первой ячейки (R3C12):  
=СУММПРОИЗВ(--(R1C3:R30C3=RC10);--(R1C4:R30C4=R2C))  
Или в меню Сервис-Параметры-Общие-Параметры меняйте Стиль_ссылок и применяйте вторую формулу (со стилем А1).{/post}{/quote}  
 
Понятно. Спасибо.  
А есть возможность указать в качестве массива весь столбец, чтобы каждый раз не переписывать формулу, если количество строк будет увеличиваться?
 
С именованными динамическими диапазонами:  
=СУММПРОИЗВ(--(оц=$J3);--(пер=L$2))
 
{quote}{login=vikttur}{date=14.03.2011 11:06}{thema=}{post}С именованными динамическими диапазонами:  
=СУММПРОИЗВ(--(оц=$J3);--(пер=L$2)){/post}{/quote}  
 
Спасибо.  
Использовал именованные динамические диапазоны, но с предложенной формулой возникает ошибка #ЗНАЧ! при добавлении новых строк только в один столбец.
 
И как Вам подсказать, где не получается?  
То пример с Вас выжимать, то ошибку.
 
{quote}{login=vikttur}{date=14.03.2011 02:58}{thema=}{post}И как Вам подсказать, где не получается?  
То пример с Вас выжимать, то ошибку.{/post}{/quote}  
 
В том же файле, что прикреплен к вашему сообщению: post_207963.xls  
Там достаточно добавить в R30C3 значение, чтобы в отчетной таблице возникла ошибка.
 
Понял. Ошибка получается из-за разного размера диапазонов (СУММПРОИЗВ этого не любит). Замените формулу имени "пер":  
=Лист1!R2C4:ИНДЕКС(Лист1!R2C4:R1000C4;ПОИСКПОЗ("яя";Лист1!R2C3:R1000C3))  
Теперь размер второго диапазона определяется длиной первого.
 
Ясно  
Спасибо большое
Страницы: 1
Читают тему
Наверх