Страницы: 1
RSS
Ежемесячный отчет из таблицы данных по дням.
 
Доброго дня кудесники Экселя!    
Задача. Имеем таблицу данных привязанных к определенной дате, необходимо вывести формулу рассчитывающую сумму и ср.знач. данных из первой таблицы по месяцам.  
 
Заранее большое спасибо)
 
А чем Вам простая сводная таблица не нравится?  
Смотрите пример.
 
Работать с формулами как то понятнее, если честно... Все само обновляется, протянул ниже, получил новые месяцы...
 
Можно макрос, но сводная будет лучше.
 
сводную достаточно просто сделать:  
- с автоопределением диапазона - протягивать ничего не надо;  
- автообновляемой (правда, тогда её желательно делать на другом листе, хотя и необязательно).  
 
но привычка - это святое! я знаю людей, которые в экселе только таблички рисуют и цифры вбивают. а считают всё на калькуляторе. говорят - так привычнее и спокойнее: калькуляторы для 2-1 всегда дают 1, а Excel - не всегда.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Мне просто казалось что формула не такая сложная должна получиться, нужно найти первую и последнюю Строку с заданным в параметрах месяцем и делать любые расчеты с данными в этом диапазоне строк.
 
Вариант предложил.  
Не скажу, что он близок к оптимальному, но рабочий.  
 
Также в файле написал вопрос к Гуру Excel, которые могут ответить, почему формула выдает #ЧИСЛО! при заданных параметрах?  
Изъяна сам пока не вижу.  
 
Да, диапазон дат и значений в формуле меняйте вручную (размеры массивов должны совпадать).
 
}{)pa, по крайней мере, в моем 2003-м, те формулы, которые у Вас дают ошибку #ЧИСЛО!, не работают с целыми столбцами :((  
 
работают такие варианты:  
{=СУММ((ТЕКСТ(Лист1!$A$1:$A$65535;"ММММ")=$A2)*Лист1!$B$1:$B$65535)} - массивная  
=СУММПРОИЗВ((ТЕКСТ(Лист1!$A$1:$A$65535;"ММММ")=$A2)*Лист1!$B$1:$B$65535) - обычная  
 
но ни один из них - с целыми столбцами.  
правда, буквально на днях, Казанский говорил, что в его 2007-м excel'е формула, аналогичная второй, с целыми столбцами работвет без проблем.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Спасибо! То что хотел, как и думал, все не так сложно. В моём excel 2010 никаких ошибок нет.
 
Хотя по факту при переносе в рабочий документ, формула вида:  
=СУММ((ТЕКСТ(Лист1!$A:$A;"ММММ")=$A2)*Лист1!$B:$B)  
хоть и не выдавала ошибку, но считала неверно, выбирая даты непонятным образом.  
С формулой вида:  
=СУММПРОИЗВ((ТЕКСТ(Лист1!$A$1:$A$65535;"ММММ")=$A2)*Лист1!$B$1:$B$65535)  
Всё получилось! Как то странно.
 
{quote}{login=}{)pa}{date=06.05.2012 11:46}{thema=}{post}...почему формула выдает #ЧИСЛО! при заданных параметрах?{/post}{/quote}Вот что говорит об этом сам Excel (см. вложение):
 
{quote}{login=TankSpb}{date=07.05.2012 04:34}{thema=}{post}Хотя по факту при переносе в рабочий документ, формула вида:  
=СУММ((ТЕКСТ(Лист1!$A:$A;"ММММ")=$A2)*Лист1!$B:$B)  
хоть и не выдавала ошибку, но считала неверно, выбирая даты непонятным образом.  
{/post}{/quote}  
 
это формула массива.  
ввод в ячейку выполняется не по Enter, а Ctrl+Shift+Enter
 
{quote}{login=TankSpb}{date=07.05.2012 03:00}{thema=}{post}В моём excel 2010 ..{/post}{/quote}  
 
А попробуйте так:  
 
=АГРЕГАТ(9;6;ЕСЛИ(ТЕКСТ(Лист1!$A:$A;"ММММ")=$A2;Лист1!$B:$B))
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Serge 007}{date=07.05.2012 05:27}{thema=Re: }{post}Вот что говорит об этом сам Excel (см. вложение):{/post}{/quote}  
 
Serge 007, спасибо за вкладку.  
По всей видимости, в 2003-м Excel формулы массивов не могут работать с целыми столбцами.  
 
ikki, Ваша "СУММПРОИЗВ" должна работать быстрее, чем массив. По крайней мере, на моем PC это выглядело так.
 
{quote}{login=}{)pa}{date=07.05.2012 02:57}{thema=Re: Re: }{post}...в 2003-м Excel формулы массивов не могут работать с целыми столбцами.  
ikki, Ваша "СУММПРОИЗВ" должна работать быстрее, чем массив. По крайней мере, на моем PC это выглядело так.{/post}{/quote}  
1. Могут. У меня работают. Но я неоднократно сталкивался  на форумах с тем что другие жалуются что у них не работает. Зависимость не понимаю, поэтому точнее не отвечаю.  
 
2. СУММПРОИЗВ - такая же формула массива (по времени работы), как и СУММ(ЕСЛИ())
 
Serge 007, что ни тема, узнаю что-то новое на этом Форуме.  
Спасибо за пояснения.
Страницы: 1
Читают тему
Наверх