|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.04.2014, 21:39 | #1 |
Пользователь
Регистрация: 24.05.2008
Сообщений: 64
|
Подсчет количества одновременно совершаемых телефонных соединений
Здравствуйте, уважаемые форумчане!
Занимаюсь анализом телефонного трафика и, в частности, возникла задача оценить пропускную способность канала, а для этого нужно по существующим данным за прошлый период (трафик) рассчитать количество одновременно совершаемых вызовов, то есть всех предыдущих, которые на момент начала текущего соединения находятся в состоянии разговора. Использовал для этого формулу с функцией СУММПРОИЗВ(). Но поскольку рабочий трафик за месяц состоит более чем из 170 000 записей, эта формула получается очень ресурсоемкой - требует много памяти и мощного процессора. В прилагаемом файле небольшой фрагмент (2 дня) трафика и описание проблемы. Надеюсь, кто нибудь из "гуру Excel" предложит более рациональное решение. |
28.04.2014, 22:45 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Попробуйте формулу массива для 3-й строки
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
28.04.2014, 22:59 | #3 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
А еще лучше ввести доп. столбец END с очевидной формулой и использовать СЧЕТЕСЛИМН (ст. E,F).
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
28.04.2014, 23:06 | #4 |
Пользователь
Регистрация: 24.05.2008
Сообщений: 64
|
Спасибо. Формулу Вашу вставил, но при заполнении рабочего файла двойным кликом по правому нижнему углу ячейки Excel надолго завис.
Наверное, всё таки не стоит пытаться работать сразу с таким большим объёмом. Попробую сделать сводную, определю по ней самый загруженный день и уже по этой дате проанализирую на максимум одновременных соединений. Ещё раз спасибо. О! Ещё одно решение! Сейчас гляну, только Excel пока "висит"... System Explorer показывает, что Excel "съел" 7 Гигабайт оперативной памяти и 9 Гигабайт своп-файла Последний раз редактировалось VictorK; 28.04.2014 в 23:14. |
29.04.2014, 00:26 | #5 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Попробуйте макросом.
Но сперва добавить два допстолбца - можно это и макросом считать, но не хотелось время тратить P.S. Много памяти есть не должно - трачу время на очистку отработанного времени... Хотя посмотрите - может где-то оно и будет висеть, хотя словарь в итоге почти пустой
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 29.04.2014 в 00:28. |
29.04.2014, 03:28 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
формула длиннее:
Код:
(на 800 строках данных это работает просто незаметно). ну, и в данных дата и время начала и окончания звонка обьеденены в отдельные ячейки
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 29.04.2014 в 10:35. |
29.04.2014, 10:25 | #7 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Макрос, на приведенных данных отрабатывает менее чем за 20 мс.
Благодаря тому, что счет идет в целых числах (в секундах от начала массива). Можно оформить как UDF и выводить массив q на лист. Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Последний раз редактировалось Казанский; 29.04.2014 в 10:28. Причина: косметические правки |
29.04.2014, 15:14 | #8 |
Пользователь
Регистрация: 24.05.2008
Сообщений: 64
|
Всем большое спасибо, буду пробовать по очереди.
Вариант с макросом от Hugo121 задумался на полтора часа, пришлось убивать процесс Excel. Действительно, считать весь вышележащий массив данных до конца месяца (десятки тысяч строк) не имеет смысла. На практике очень редко попадаются соединения продолжительностью более 3 часов. |
29.04.2014, 15:42 | #9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Полтора часа? А внизу в статусбаре время тикало? Там каждая сотая строка пишется.
Но уже есть мнгновенный вариант Казанского Как оно работает - я пока не дотумкал, времени изучить нет А мой вариант и не считает весь вышележащий массив. Вернее посчитал и забыл, запомнил только максимум. Но всё равно небыстро...
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 29.04.2014 в 15:44. |
29.04.2014, 17:03 | #10 | |
Пользователь
Регистрация: 24.05.2008
Сообщений: 64
|
Цитата:
Сейчас пробую применить простую формулу СЧЁТЕСЛИ() к двум дополнительным столбцам с объединенными датой/временем, но, похоже, опять Excel повисла... |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос изменения количества строк в таблицах на двух листах книги одновременно | timda81 | Microsoft Office Excel | 5 | 30.06.2012 19:58 |
[QT] подсчет количества символов | Unknown Lady | Помощь студентам | 0 | 24.11.2011 15:06 |
подсчет количества дней | ГОСЕАН | Помощь студентам | 26 | 31.10.2011 07:30 |
Подсчет количества записей | ShnapS | БД в Delphi | 2 | 11.10.2011 16:31 |
Подсчет ячеек одновременно по цвету и значению | bud-dy | Microsoft Office Excel | 7 | 17.03.2011 14:43 |