Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

График с суммированием значений 3-х столбцов по часам.

Автор SS78RUS, 31.01.2011, 19:26

« назад - далее »

SS78RUS

Всем доброго времени суток!
В общем задал себе очередную задачку, с которой сам не справился  :)
Имеется 4 столбца:
1. - Время в формате дд.мм.гг чч:мм
2, 3, 4. - Нули и единицы.
Задача: График на выходе с временной осью по часам, т.е. нули и единицы за каждый час и в каждом столбце должны суммироваться.
Еще подробней: Например с 13:00 до 13:59 в 1-м столбце 5 единиц, во 2-м 3 единицы и в 3-м 10 единиц, а с 14:00 до 14:59 - 6, 5 и 7 соответственно. То имеем график с точками 13:00, 14:00 и 15:00 по ОХ и 3 графика (получается прямых, раз 2 часа в выборке всего) по ОY.
Во загнул!  ::)
Приложу файл исходник.
Заранее всем большое спасибо!

TimSha

А  как вы пытались сделать? Если создать сводную, в ней даты сгруппировать по часам, а затем на ее основе график?..
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)

SS78RUS

#2
Основной вопрос здесь - как "заставить" эксель сложить строки по часам (от 00:01 до 01:00, 01:01 до 02:00 и т.д., часы и будут точками на ОХ, а суммы из столбцов - значениями на OY)... нужна именно автоматизация, если бы задача была разовая - помощи не попросил бы  :), а в реалии есть необходимость проделывать такую операцию каждый день и файлов будет порядка 20 и в каждом не менее 150 строк.. вот так  8)

VictorK

SS78RUS, посмотрите файл, Вам так нужно?
(без графика, только формулы с нужными результатами)

SS78RUS

Да, спасибо! Вроде всё верно =)
Буду записывать макрос для автоматизации..

VictorK

С формулой я немного перемудрил. Вместо

=СУММ((ЧАС($B$2:$B$30)>=$G2)*(ЧАС($B$2:$B$30)<$G3)*C$2:C$30)

достаточно будет использовать

=СУММ((ЧАС($B$2:$B$30)=$G2)*C$2:C$30)

не забывая о Ctrl+Shift+Enter

Serge 007

Или без "массивного" ввода:
=СУММПРОИЗВ((ЧАС($B$2:$B$30)=$G2)*C$2:C$30)
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

_Boroda_

SS78RUS
Каждый день данные меняются и они за один день? Другими словами, в одной таблице не бывает одного времени за разные дни?
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

SS78RUS

#8
Цитата: _Boroda_ от 01.02.2011, 18:10
SS78RUS
Каждый день данные меняются и они за один день? Другими словами, в одной таблице не бывает одного времени за разные дни?

Вопрос не в бровь, а в глаз!  :)
Только что с этим и столкнулся.. Что делать, если несколько дней?  ???

И как всё-таки сделать это макросом, чтобы график вылезал по горячим клавишам? Не понимаю.. Когда файл в исходном состоянии он не видит всех "действ", что делал с предыдущим файлом, приходится вручную копировать ячейки с формулами и строить график.. Просто на самом деле будет не более 5-ти минут в день на всё, а при таком варианте будет уходить по полчаса..

Вот так делаю (файл приложил)..

SS78RUS

Так как с сутками быть, никто не подскажет?  ???
Буду старым проверенным методом "тыка" пробовать..  :)

VictorK

Цитата: SS78RUS от 03.02.2011, 10:37
Так как с сутками быть, никто не подскажет?
Также, как и с часами. Слева от столбца с часами добавить столбец с числами месяца и в формулу добавить проверку на числа.

=СУММПРОИЗВ((ДЕНЬ($B$2:$B$10000)=$H2)*(ЧАС($B$2:$B$10000)=$I2)*E$2:E$10000)

Михаил С.

Отдельное спасибо можно на QiWi-кошелек 909-771-53-87 или ЯД 41001136675053

SS78RUS

Цитата: VictorK от 03.02.2011, 18:17
Также, как и с часами.

Хмм.. ну да, туплю.. Спасибо!  :)

Цитата: Михаил С. от 03.02.2011, 19:24
Я не пойму, Вам это надо?

Надо и еще как!
Более того, уже всё сделано  8)
То, что заняло бы час для обработки одного файла, теперь занимает только время нажатия горячих клавиш для запуска макроса.. Вы просто не видите полной картины  ;)

Всем еще раз спасибо!