|
|
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Вот такая проблема: имеем таблицу размером 15 тыс строк на порядка 30 столбцов. Что бы найти нужные данные часто производится фильтрация по тому или иному столбцу. Обычная фильтрация. Нажимаем стрелочку выбираем значение по которому нужно фильтровать запускаем фильтрацию и ... благополучно ждем минуты две три. Такая скорость не устраивает, фильтровать приходится часто. Однако замечено что если фильтровать разные значения по одному и тому же столбцу то через несколько раз происходит резкое увеличение скорости как будто система провела индексацию по столбцу. С изменением столбца скорость фильтрации опять резко падает. Вопрос - возможно ли как то перед началом фильтрации проиндексировать таблицу по нужному столбцу что бы затем быстро производить многократную фильтрацию по этому столбцу. Затем при переходе на другой столбец индексировать по новому столбцу и т.д. Или если не возможно так, то как можно ускорить процесс фильтрации большой таблицы перегруженной формулами? Спасибо.Здравствуйте. Вот такая проблема: имеем таблицу размером 15 тыс строк на порядка 30 столбцов. Что бы найти нужные данные часто производится фильтрация по тому или иному столбцу. Обычная фильтрация. Нажимаем стрелочку выбираем значение по которому нужно фильтровать запускаем фильтрацию и ... благополучно ждем минуты две три. Такая скорость не устраивает, фильтровать приходится часто. Однако замечено что если фильтровать разные значения по одному и тому же столбцу то через несколько раз происходит резкое увеличение скорости как будто система провела индексацию по столбцу. С изменением столбца скорость фильтрации опять резко падает. Вопрос - возможно ли как то перед началом фильтрации проиндексировать таблицу по нужному столбцу что бы затем быстро производить многократную фильтрацию по этому столбцу. Затем при переходе на другой столбец индексировать по новому столбцу и т.д. Или если не возможно так, то как можно ускорить процесс фильтрации большой таблицы перегруженной формулами? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 09:08 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Перенести в Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 09:23 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
kuklp, Так и думал что такой ответ будет. Перенести в акцесс базу пока не представляется возможным. Приходится мучится в ексель. Хочется меньше мучаться. :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 09:28 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Вставить связь с таблицей в Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 09:38 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Изерлонер, попробуйте использовать для фильтрации ADO.Recordset. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 09:39 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Если предварительно отсортировать список, то это значительно ускорит работу фильтров. И что значит: Изерлонер Перенести в акцесс базу пока не представляется возможным?! ЗЫ Оптимально - пользоваться сводной. На таких небольших массивах (15 тыс строк на порядка 30 столбцов) она работает быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 09:41 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Serge 007, Фильтрация производится для добавления/изменения данных в каких-либо ячейках. То есть тут не просто посмотреть надо. Кроме того таблица и так сильно перегружена кучей сложных формул. Добавление сводной её вообще убить может. Что касается акцесс - просто нету ни секунды свободного времени что бы этим вплотную заняться. В эксель же на данный момент все организовано как надо. Пусть криво косо но работает. Акцесс в планах :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 10:19 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Изерлонер...таблица сильно перегружена кучей сложных формул... Так Вам с этого и начинать надо. Давайте её сюда - уберём "сложные" формулы и работать всё будет быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 10:25 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
А что скрывется под "найти нужные данные"? Может быть можно сделать форму с комбобоксом, куда динамически подгружаются уникальные по выбранному столбцу, при выборе значения на форме в листбокс выгружаются отобранные (можно не все 30 столбцов, а только именно нужные). Делать через массив - будет быстро. Изменять значения таблицы так будет затруднительно, только просмотр, но для пары/тройки столбцов можно и для изменения поля прикрутить. Но работа не на 5 минут - стоит оценить целесообразность создания формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 10:35 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Пока писал вопрос - получил ответ :) Сколько ячеек нужно изменять? Если не очень много и постоянные - может быть форма подойдёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 10:45 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Выложить бы таблицу можно, только без данных. Если выложу с данными - директор закопает. А без данных не наглядно и не понятно что и для чего делается. :( Тут даже с данными не все сразу понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 13:37 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Hugo121, Поясню еще. Это не просто табличка. Это что то типа учетной системы ремонтного предприятия. Идет ремонт техники. На ремонт тратятся какие то материальные средства. Материалы, гсм, запчасти. Я последовательно эти траты заношу в таблицу. Потом обрабатываю и выдаю разные отчеты по объектам ремонта. Беда в том что не получается последовательно. Есть масса дырок, не заполненных ячеек. В результате полноценно работать база не может, в дикой спешке забиваю не забитые данные. Параллельно развиваю таблицу, в основном в плане автоматизации ввода. Получается безсистемно, лишь бы успеть. Получается как получается. Вот эта фильтрация про которую речь в теме на данный момент - является не основной задачей решаемой этой системой. Она нужна мне чисто для того что бы быстро отыскивать нужные ячейки с пропущенной информацией и заполнять их. Если база будет полностью заполнена необходимости в такой фильтрации больше не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 13:52 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Изерлонер, нам всё равно, какие данные - арбузы или ракеты... Лишь бы вид и формат совпадал. Ну придумайте десяток строк чего-нибудь, да и файл можно новый подобный сделать - не нужно UsedRange на 15к строк давать... Хотя прочитал дополнение - так может просто добавить столбец-индикатор незаполненных строк? Забить туда формулу, ставящую 1/0 в зависимости от ситуации, и сортировать/фильтровать по сстолбцу. Можно макросом с отключением пересчёта, чтоб быстрее работало. Да и вручную можно пересчёт отключать, или макрос с кнопкой сделать - вкл/откл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 13:58 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Hugo121, :-) Есть такой индикатор. И не один. Все что нужно высвечивается разными цветами. Вообще параметров масса, почему и перегружена таблица. А просто отфильтровать по не заполненным ячейкам не выход. Это раньше я делал все долго муторно в ручную. Сейчас беру данные в другом отделе в электронном виде, там есть более менее нормальная база данных, (но она сама по себе мне не подходит, задачи другие ) и потом начинается - отфильтровал их таблицу по объектам, фильтрую свою и понеслась copy paste фильтр, найти подходящий идентификатор (вручную) вставить. Отфильтровать. И т.д. Я посмотрю как можно выложить таблицу. Чуть позже выложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 14:11 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Так может Вам совсем другое нужно - нужно скопировать корректно данные из одного файла в другой? Дайте подобие и той базы - посмотрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 14:14 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
тут ограничение по размеру файла до 150кб. Я не уверен что после удаления большей части данных файл будет такого размера. На данный момент он весит 8мб. ... Если только архивировать... Попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 14:59 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Hugo121, Второй файл сюда выкладывать нет надобности. В моем файле есть лист специально для обработки данных из того файла. Структура в общем сохранена. Добавлены только пару столбцов для приведения данных второй таблицы к подходящему мне виду. Свою базу выложу часа через два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 15:04 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Изерлонер, не надо всё выкладывать - оставьте один лист и десяток строк. И поясните, что именно Вам нужно сделать по этой таблице. Хотя просто попробуйте отключить пересчёт на время фильтраций - можно для этого кнопку с макросом сделать, чтоб в меню не лезть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 15:38 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Hugo121, Если имеется ввиду пересчет формул, то он давно уже отключен. База работает очень медленно. Поэтому расчет запускаю вручную. ... Ох-хо-хо. Это не база. Это динозавр. Удалишь что нибудь сразу проблем валом. Все зависит от всего. :( сейчас выложу то что получилось после удаления. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 16:57 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
я уже удалил все что можно. Файл все равно весит 4мб. :( в сжатом виде весит 1.2мб. Не знаю уже как можно еще меньше сделать. :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 17:21 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Изерлонер, проблема века? на файлообменник и сюда ссылку на скачивание файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 17:24 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Изерлонеря уже удалил все что можно. Файл все равно весит 4мб. :( в сжатом виде весит 1.2мб. Не знаю уже как можно еще меньше сделать. :-( Hugo121...оставьте один лист и десяток строк... Весить будет около 40 Кб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 17:25 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Да уж, выложить на файлообменик с телефона это действительно проблема. http://files.mail.ru/1NNBLZ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 17:58 |
|
||
|
Как ускорить фильтрацию в ексель 2007?
|
|||
|---|---|---|---|
|
#18+
Безотносительно самой задачи замечу, что 1. Всякие штуки типа форматирование, заливка, граница и тому подобные излишества не слабо увеличивают и размер самого файла, и, что более важно, работу с этими данными. У Вас в примере на 10 (утрирую) строк данных границы проставлены на UsedRange. 2. Лучше файлы сохранять в формате 97/2003, если есть такая возможность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:24 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=37443676&tid=2176489]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
188ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 209ms |
| total: | 514ms |

| 0 / 0 |
