Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как ускорить фильтрацию в ексель 2007? / 25 сообщений из 28, страница 1 из 2
16.09.2011, 09:08
    #37442897
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Здравствуйте. Вот такая проблема: имеем таблицу размером 15 тыс строк на порядка 30 столбцов. Что бы найти нужные данные часто производится фильтрация по тому или иному столбцу. Обычная фильтрация. Нажимаем стрелочку выбираем значение по которому нужно фильтровать запускаем фильтрацию и ... благополучно ждем минуты две три. Такая скорость не устраивает, фильтровать приходится часто. Однако замечено что если фильтровать разные значения по одному и тому же столбцу то через несколько раз происходит резкое увеличение скорости как будто система провела индексацию по столбцу. С изменением столбца скорость фильтрации опять резко падает. Вопрос - возможно ли как то перед началом фильтрации проиндексировать таблицу по нужному столбцу что бы затем быстро производить многократную фильтрацию по этому столбцу. Затем при переходе на другой столбец индексировать по новому столбцу и т.д. Или если не возможно так, то как можно ускорить процесс фильтрации большой таблицы перегруженной формулами? Спасибо.Здравствуйте. Вот такая проблема: имеем таблицу размером 15 тыс строк на порядка 30 столбцов. Что бы найти нужные данные часто производится фильтрация по тому или иному столбцу. Обычная фильтрация. Нажимаем стрелочку выбираем значение по которому нужно фильтровать запускаем фильтрацию и ... благополучно ждем минуты две три. Такая скорость не устраивает, фильтровать приходится часто. Однако замечено что если фильтровать разные значения по одному и тому же столбцу то через несколько раз происходит резкое увеличение скорости как будто система провела индексацию по столбцу. С изменением столбца скорость фильтрации опять резко падает. Вопрос - возможно ли как то перед началом фильтрации проиндексировать таблицу по нужному столбцу что бы затем быстро производить многократную фильтрацию по этому столбцу. Затем при переходе на другой столбец индексировать по новому столбцу и т.д. Или если не возможно так, то как можно ускорить процесс фильтрации большой таблицы перегруженной формулами? Спасибо.
...
Рейтинг: 0 / 0
16.09.2011, 09:23
    #37442916
kuklp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Перенести в Access.
...
Рейтинг: 0 / 0
16.09.2011, 09:28
    #37442923
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
kuklp,

Так и думал что такой ответ будет. Перенести в акцесс базу пока не представляется возможным. Приходится мучится в ексель. Хочется меньше мучаться. :-(
...
Рейтинг: 0 / 0
16.09.2011, 09:38
    #37442935
kuklp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Вставить связь с таблицей в Access.
...
Рейтинг: 0 / 0
16.09.2011, 09:39
    #37442936
Как ускорить фильтрацию в ексель 2007?
Изерлонер,
попробуйте использовать для фильтрации ADO.Recordset.
...
Рейтинг: 0 / 0
16.09.2011, 09:41
    #37442937
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Если предварительно отсортировать список, то это значительно ускорит работу фильтров.
И что значит: Изерлонер Перенести в акцесс базу пока не представляется возможным?!

ЗЫ Оптимально - пользоваться сводной. На таких небольших массивах (15 тыс строк на порядка 30 столбцов) она работает быстро.
...
Рейтинг: 0 / 0
16.09.2011, 10:19
    #37443005
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Serge 007,

Фильтрация производится для добавления/изменения данных в каких-либо ячейках. То есть тут не просто посмотреть надо. Кроме того таблица и так сильно перегружена кучей сложных формул. Добавление сводной её вообще убить может. Что касается акцесс - просто нету ни секунды свободного времени что бы этим вплотную заняться. В эксель же на данный момент все организовано как надо. Пусть криво косо но работает. Акцесс в планах :-(
...
Рейтинг: 0 / 0
16.09.2011, 10:25
    #37443014
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Изерлонер...таблица сильно перегружена кучей сложных формул...
Так Вам с этого и начинать надо. Давайте её сюда - уберём "сложные" формулы и работать всё будет быстрее.
...
Рейтинг: 0 / 0
16.09.2011, 10:35
    #37443036
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
А что скрывется под "найти нужные данные"?
Может быть можно сделать форму с комбобоксом, куда динамически подгружаются уникальные по выбранному столбцу, при выборе значения на форме в листбокс выгружаются отобранные (можно не все 30 столбцов, а только именно нужные). Делать через массив - будет быстро.
Изменять значения таблицы так будет затруднительно, только просмотр, но для пары/тройки столбцов можно и для изменения поля прикрутить.
Но работа не на 5 минут - стоит оценить целесообразность создания формы.
...
Рейтинг: 0 / 0
16.09.2011, 10:45
    #37443048
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Пока писал вопрос - получил ответ :)
Сколько ячеек нужно изменять? Если не очень много и постоянные - может быть форма подойдёт?
...
Рейтинг: 0 / 0
16.09.2011, 13:37
    #37443464
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Выложить бы таблицу можно, только без данных. Если выложу с данными - директор закопает. А без данных не наглядно и не понятно что и для чего делается. :( Тут даже с данными не все сразу понятно.
...
Рейтинг: 0 / 0
16.09.2011, 13:52
    #37443495
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Hugo121,

Поясню еще. Это не просто табличка. Это что то типа учетной системы ремонтного предприятия. Идет ремонт техники. На ремонт тратятся какие то материальные средства. Материалы, гсм, запчасти. Я последовательно эти траты заношу в таблицу. Потом обрабатываю и выдаю разные отчеты по объектам ремонта. Беда в том что не получается последовательно. Есть масса дырок, не заполненных ячеек. В результате полноценно работать база не может, в дикой спешке забиваю не забитые данные. Параллельно развиваю таблицу, в основном в плане автоматизации ввода. Получается безсистемно, лишь бы успеть. Получается как получается. Вот эта фильтрация про которую речь в теме на данный момент - является не основной задачей решаемой этой системой. Она нужна мне чисто для того что бы быстро отыскивать нужные ячейки с пропущенной информацией и заполнять их. Если база будет полностью заполнена необходимости в такой фильтрации больше не будет.
...
Рейтинг: 0 / 0
16.09.2011, 13:58
    #37443518
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Изерлонер, нам всё равно, какие данные - арбузы или ракеты...
Лишь бы вид и формат совпадал.
Ну придумайте десяток строк чего-нибудь, да и файл можно новый подобный сделать - не нужно UsedRange на 15к строк давать...

Хотя прочитал дополнение - так может просто добавить столбец-индикатор незаполненных строк?
Забить туда формулу, ставящую 1/0 в зависимости от ситуации, и сортировать/фильтровать по сстолбцу.
Можно макросом с отключением пересчёта, чтоб быстрее работало. Да и вручную можно пересчёт отключать, или макрос с кнопкой сделать - вкл/откл.
...
Рейтинг: 0 / 0
16.09.2011, 14:11
    #37443556
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Hugo121,

:-) Есть такой индикатор. И не один. Все что нужно высвечивается разными цветами. Вообще параметров масса, почему и перегружена таблица. А просто отфильтровать по не заполненным ячейкам не выход. Это раньше я делал все долго муторно в ручную. Сейчас беру данные в другом отделе в электронном виде, там есть более менее нормальная база данных, (но она сама по себе мне не подходит, задачи другие ) и потом начинается - отфильтровал их таблицу по объектам, фильтрую свою и понеслась copy paste фильтр, найти подходящий идентификатор (вручную) вставить. Отфильтровать. И т.д. Я посмотрю как можно выложить таблицу. Чуть позже выложу.
...
Рейтинг: 0 / 0
16.09.2011, 14:14
    #37443561
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Так может Вам совсем другое нужно - нужно скопировать корректно данные из одного файла в другой?
Дайте подобие и той базы - посмотрим.
...
Рейтинг: 0 / 0
16.09.2011, 14:59
    #37443663
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
тут ограничение по размеру файла до 150кб. Я не уверен что после удаления большей части данных файл будет такого размера. На данный момент он весит 8мб. ... Если только архивировать... Попробую.
...
Рейтинг: 0 / 0
16.09.2011, 15:04
    #37443676
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Hugo121,

Второй файл сюда выкладывать нет надобности. В моем файле есть лист специально для обработки данных из того файла. Структура в общем сохранена. Добавлены только пару столбцов для приведения данных второй таблицы к подходящему мне виду. Свою базу выложу часа через два.
...
Рейтинг: 0 / 0
16.09.2011, 15:38
    #37443749
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Изерлонер, не надо всё выкладывать - оставьте один лист и десяток строк. И поясните, что именно Вам нужно сделать по этой таблице.
Хотя просто попробуйте отключить пересчёт на время фильтраций - можно для этого кнопку с макросом сделать, чтоб в меню не лезть.
...
Рейтинг: 0 / 0
16.09.2011, 16:57
    #37443979
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Hugo121,

Если имеется ввиду пересчет формул, то он давно уже отключен. База работает очень медленно. Поэтому расчет запускаю вручную. ... Ох-хо-хо. Это не база. Это динозавр. Удалишь что нибудь сразу проблем валом. Все зависит от всего. :( сейчас выложу то что получилось после удаления. :(
...
Рейтинг: 0 / 0
16.09.2011, 17:21
    #37444033
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
я уже удалил все что можно. Файл все равно весит 4мб. :( в сжатом виде весит 1.2мб. Не знаю уже как можно еще меньше сделать. :-(
...
Рейтинг: 0 / 0
16.09.2011, 17:24
    #37444038
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Изерлонер, проблема века?
на файлообменник и сюда ссылку на скачивание файла
...
Рейтинг: 0 / 0
16.09.2011, 17:25
    #37444041
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Изерлонеря уже удалил все что можно. Файл все равно весит 4мб. :( в сжатом виде весит 1.2мб. Не знаю уже как можно еще меньше сделать. :-(
Hugo121...оставьте один лист и десяток строк...
Весить будет около 40 Кб
...
Рейтинг: 0 / 0
16.09.2011, 17:58
    #37444100
Изерлонер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Да уж, выложить на файлообменик с телефона это действительно проблема. http://files.mail.ru/1NNBLZ
...
Рейтинг: 0 / 0
16.09.2011, 19:24
    #37444199
кладовщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Безотносительно самой задачи замечу, что
1. Всякие штуки типа форматирование, заливка, граница и тому подобные излишества не слабо увеличивают и размер самого файла, и, что более важно, работу с этими данными. У Вас в примере на 10 (утрирую) строк данных границы проставлены на UsedRange.
2. Лучше файлы сохранять в формате 97/2003, если есть такая возможность.
...
Рейтинг: 0 / 0
16.09.2011, 19:27
    #37444204
кладовщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить фильтрацию в ексель 2007?
Решил уточнить: думаю, что заливки, границы и мб что-то еще на 2^20 строк - основная причина тормозов.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как ускорить фильтрацию в ексель 2007? / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]