Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2014, 15:17   #1
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию Какой самый быстрый метод поиска и суммирования значений ячеек столбца с ключом предыдущим?

Здравствуйте уважаемые форумчане!
Возникла такая проблема необходимо просуммировать ячейки столбцов.
Я видел 3 варианта решения в интернете
Формула
=ИНДЕКС($AD$2:$AD$30000;ПОИСКПОЗ(;С ЧЁТЕСЛИ(AE$1:AE1;AD$2:AD$30000))
=СУММЕСЛИ($AE$2:$AE$30000;AD2;$D$2: $D$30000)
Сводная таблица
Макрос
Какой из них будет быстрее?
Сейчас я у меня задача решена с помощью макроса он собирает все данные в массивы суммирует а затем заполняет ячейки работает 25 минут на 30000 тыс. записей. Но это очень долго! Какой метод будет быстрее?
Заранее спасибо за помощь!
Вложения
Тип файла: rar Пример__.rar (3.1 Кб, 13 просмотров)

Последний раз редактировалось Dima_com; 25.02.2014 в 15:20.
Dima_com вне форума Ответить с цитированием
Старый 25.02.2014, 15:26   #2
kalbasiatka
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 208
По умолчанию

А где этот макрос? Покажите. И куда эти формулы вставлять надо?
kalbasiatka вне форума Ответить с цитированием
Старый 25.02.2014, 15:39   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Словарь думаю за минуту справится, а то и быстрее.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.02.2014, 15:43   #4
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию

Спасибо за ответы у меня как раз через словари и сделано.
Создаю словарь:
Set studentData = CreateObject("Scripting.Dictionary" )
Добавляю в него имена кафедры вуз. Потом заполняю соответствующие ячейки.
Полностью приводить смысла нет 1000 строк)))
Dima_com вне форума Ответить с цитированием
Старый 25.02.2014, 15:51   #5
kalbasiatka
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 208
По умолчанию

1000 строк макроса? Формулы ссылаются хз куда, макроса в примере вообще нет. Может пример с макросом или нормальный вопрос разрулят ситуацию?
kalbasiatka вне форума Ответить с цитированием
Старый 25.02.2014, 16:17   #6
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию

kalbasiatka Спасибо за ответ.
Но тут вопрос не в другом.
Что быстрее всего работает на текстово-цифровых данных.
Формула словари или сводные таблицы? Для вычисления суммы по критерию ячейка предыдущего столбца.
ПС формула вставил она вычисляет данные в примере вложения.
Вложения
Тип файла: rar Пример2_.rar (3.1 Кб, 15 просмотров)
Dima_com вне форума Ответить с цитированием
Старый 25.02.2014, 17:08   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

А свой медленный макрос показать стыдно что ли?
Одного словаря мало - нужно ещё и на массивах делать, чтоб быстро было.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.02.2014, 19:07   #8
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

была похожая проблема + куча условий.
С помощью уважаемого Hugo121 все решилось в лучшем виде!
Сейчас применяю этот подход (в разных вариациях) везде, где нужна работа с большими массивами
Цитата:
текстово-цифровых данных.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 25.02.2014, 20:14   #9
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от Dima_com Посмотреть сообщение
...необходимо просуммировать ячейки столбцов.
Я видел 3 варианта решения в интернете
Формула
Сводная таблица
Макрос
Какой из них будет быстрее?..
Однозначно формулами будет долго
Сводная таблица на миллион записей и 6 полей отработала менее чем за секунду (Excel 2010, Win 7, 2 Гб ОЗУ, при тестировании, помимо Excel, был открыт только FireFox)
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 03.03.2014, 12:46   #10
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию

Спасибо всем большое, за ответы пробую реализовать через сводные таблицы.
Dima_com вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Самый быстрый OpenFile grebljmax Компоненты Delphi 8 21.10.2013 11:21
Самый быстрый браузер Marsel737 Софт 31 30.08.2010 01:09
самый быстрый метод сортировки, который расположит в порядке возврастания 50.000 чисел типа real Rusl92 Помощь студентам 8 21.11.2009 20:50
Какой самый быстрый метод заполнения массива, например двухмерного? SkAndrew Общие вопросы Delphi 11 29.05.2008 13:23
Предложите самый быстрый алгоритм! Gambler Общие вопросы Delphi 6 26.12.2006 22:44