Дано 2 таблицы - справочник FROM и перечень WHERE В WHERE проставлены номера строк из FROM и по этим номерам (позициям) тянется столбец из FROM с помощью ИНДЕКСА То есть в FROM только 2 столбца с данными, а в WHERE 1 столбец с номерами строк и второй - с функцией =ИНДЕКС()
Вопросы: Можно ли как-то это побороть, оставив ИНДЕКС (или подтягивать столбец по позиции как-то иначе)? Почему при наличии ИНДЕКСА в WHERE фильтр FROM начинает так тупить?
ИНДЕКС - очень быстрая функция, но, если её убрать в этом случае - будет намного (в десятки раз на сотнях тысяч строк) быстрее ПОИСКПОЗ примерно такие же тупняки даёт, хотя несравнимо медленнее сама по себе Пересчёт (авто или вручную) никак не влияет
Прошу для примера вставить номера строк из FROM в первый столбец WHERE 2 раза друг под другом (2 блока) - этого будет достаточно, чтобы начались тормоза (я удалил, чтобы не раздувать файл, а обменники на работе запрещены) - на скринах показал При увеличении блоков, тормоза заметно усиливаются
!!! ВАЖНО !!! Решение нужно для "умной" таблицы, т.к. в обычных диапазонах подобной проблемы нет (достаточно преобразовать в диапазон только фильтруемую таблицу — FROM в данном примере)
Реквизиты для благодарности и контакты для связи — в профиле
vikttur, у меня было в примере в Справочнике 2 одинаковых столбца с нумерацией от 1 до 20000 (чуть меньше - на скрине видно), а в перечне эти 20 тыс двумя блоками вставлены друг под другом в 1ом столбце. Во втором в перечне ИНДЕКС
vikttur, сделал ссылку через телефон и добавил в СС
Итак: в FROM 20 тыс номеров (от 1 до 20 тыс), в WHERE этот блок (1-20тыс) скопирован 3 раза друг под другом Итог: фильтрую в FROM первый столбец по числам 2, 5 и 8. С ИНДЕКСОМ 7 секунд, без него 0,5 Мистика
Думаю, что причина та же, по которой пересчёт на отфильтрованном диапазоне в разы дольше, чем при снятом фильтре
vikttur, файл переслал себе на почту с работы. От себя тебе, не получилось, скачал на телефон с почты и закинул на dropme, а ссылку напечатал ручками СС - стартовое сообщение
Цитата
vikttur: с 20 000 формул тормозит. Потому что много их и все пересчитываются
не то - ИНДЕКС и 100 тыс пересчитает за секунду, это проверено
не понял… Ломает судьбы тормозами в фильтре? Уверен, в Питере также тормозит)) Забыл после переезда как преобразовывать умную в обычный диапазон? Не забыл, но забыл сказать, что ищу решение именно для умной - в обычных диапазонах многое иначе и часто быстрее
удобство (умных таблиц) <> скорость (работы в них) — это имелось ввиду? Если да, то согласен (хотя, я бы подробнее написал всё-таки: "удобство работы в умных таблицах с лихвой компенсируется сопутствующими проблемами") А краткость - это о чём? О макросах для работы в обычных диапазонах в сравнении с объектом умной таблицы?
Пока решил "в лоб": вставляю значениями (макросом) то, что ранее тянул ИНДЕКСОМ по ПОЗИЦИИ (вставленной, опять же, макросом) Зато, минус столбец с номерами