Страница 1 из 2

Сумма строк, удовлетворяющих автофильтру

Добавлено: 17 июн 2009, 12:18
kuznetsovSergey
Добрый день, прошу навести меня на мысль, и подсказать как можно реализовать данную задачу:"Есть огромное количество данных, которые я сортирую автофильтром. На другой странице, пишу в нужные ячейки, сумму строк. удовлетворяющих нескольким критериям автофильтра.Но есть не большое НО. Дело с том, что там должно быть ещё сверка со временем, и датой. Попробую привести пример, что бы было более понятно."

Пример:

существует 3 листа: Количество студентов, база с студентами, условия
макрос должен афтофильтрок отсеивать по критериям, и считать количество найденных строк, по заданному критерию. НО !! должен сравнивать ещё до суммирования найденные ячейки с временем, и с датой. Потому что дата может быть меньше сегодняшней, тогда автоматически он успел. Спасибо заранее !!

файл

Изображение

Re: Сумма строк, удовлетворяющих автофильтру

Добавлено: 17 июн 2009, 14:03
Aent
Посмотрите HELP по функции =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(...)

Re: Сумма строк, удовлетворяющих автофильтру

Добавлено: 17 июн 2009, 15:29
kuznetsovSergey
дело в том, что я не против использовать функции, если они помогут моему делу. Но не вижу решения моей проблемы, через =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(...)
Может я не очень понял как пользоваться этой функцией, просто он выдает список всех значений в этом столбце. а мне нужна сумма строк, если эта строка удовлетворяет несколько параметров автофильтра

Re: Сумма строк, удовлетворяющих автофильтру

Добавлено: 17 июн 2009, 16:26
Aent
Меня смутили ваши слова про автофильтр. Автофильтр здесь не причём
Выложите тестовый файл - покажу как сделать то что вам нужно функциями листа.
Набирать тест самому нет времени.

Re: Сумма строк, удовлетворяющих автофильтру

Добавлено: 18 июн 2009, 12:40
kuznetsovSergey
Так я же его выложил, перед скрином, ссылка: называется "Файл"

Re: Сумма строк, удовлетворяющих автофильтру

Добавлено: 18 июн 2009, 15:49
Aent
Извините. Не заметил.

Re: Сумма строк, удовлетворяющих автофильтру

Добавлено: 18 июн 2009, 16:28
Kokain
Не совсем понял что нужно.
Но мне кажется Pivot Tables в Excel помогут. Там тоже есть автофильтры, подсчет количества значений, суммы, среднего по полям. Очень удобный инструмент - быстро получите то что нужно. К тому же Pivot Tables можно строить из макросов

Re: Сумма строк, удовлетворяющих автофильтру

Добавлено: 18 июн 2009, 17:28
Aent
А 9:00 на первом листе это то же фильтр ?
Если да то как идёт выборка?
Если это просто информационное поле, то решение в прицепленном файле.
Обратите внимание, что массивные формулы вводятся без фигурных скобок с помощью одновременного нажатия Ctrl+Shift+Enter

Re: Сумма строк, удовлетворяющих автофильтру

Добавлено: 19 июн 2009, 09:31
kuznetsovSergey
Aent писал(а):А 9:00 на первом листе это то же фильтр ?
Если да то как идёт выборка?
Если это просто информационное поле, то решение в прицепленном файле.
Обратите внимание, что массивные формулы вводятся без фигурных скобок с помощью одновременного нажатия Ctrl+Shift+Enter
Огромное спасибо за помощь !! Практически всё что было нужно. Но есть не большое НО! Ну собственно оно всегда появляется, как задать, что бы время прихода студента, сравнивалось со временем установленным в ячейке на первом листе. Потому что установленное время может меняться. хотелось бы что бы оно сравнивалось. Уверен что этот вопрос не составить для вас проблем =)

Ещё вопрос возник, как сделать массивную формулу, я делал раньше. Спасибо за иноформацию. Вот только не понятно. как в формуле работает такой текст:
{=СУММПРОИЗВ(ЕСЛИ(ПОЛ="М";1;0);ЕСЛИ(ВОЗРАСТ=17;1;0))} - Где ссылки на странички? как он понимает с каким столбцом работать и на каком листе?

Re: Сумма строк, удовлетворяющих автофильтру

Добавлено: 19 июн 2009, 11:19
Aent
1) Если считать что студент пришёл вовремя если время его прихода меньше
времени на первом листе (ВРЕМЯ) при условии что для этого студента не задано специальное время на третьем, то формула в столбце J:J на втором листе будет вида:

Код: Выделить всё

=ЕСЛИ(I2<A2;1;ЕСЛИ(ЕНД(ЕСЛИ(ВПР($B2;УСЛ;2;ЛОЖЬ)>$H2;1;0));[B]ЕСЛИ(ВРЕМЯ>$H2;1;0)[/B];ЕСЛИ(ВПР($B2;УСЛ;2;ЛОЖЬ)>$H2;1;0)))
2) ПОЛ,ВОЗРАСТ и т.д. это определённые в книге имена
см. Вставка->Имя->Присвоить
Например: ВОЗРАСТ это =СМЕЩ('База со студентами'!$G$2;0;0;Всего_записей;1)
см. HELP по функции листа СМЕЩ.