Страницы: 1
RSS
СчётЕслиМн с учетом фильтрации и без волатильных функций
 
Добрый день!

Что есть сейчас:

1. На листе есть:
- таблица с данными, к которой применяется фильтр.
- шапка с формулами, которые зависят от примененного фильтра.
2. Формула в шапке представляет собой аналог СчётЕслиМн. Главная особенность - учет фильтрации. Сейчас реализовано на основе СМЕЩ - СТРОКА.
3. На листе могут добавляться/удаляться строки и столбцы. Формулы не должны от этого "страдать". Для этого использована ДВССЫЛ.

Проблема:
Использование волатильных функций приводит к сильному торможению.
Этот файл - упрощенный пример. Реальный файл - гораздо больше.
Формула из шапки встречается в реальном файле не 4 раза, как здесь, а десятки раз.
На слабых компах файл висит.

Постановка задачи:
Предложить формулу, обладающую той же функциональностью, но без использования волатильных функций.
 
Можно сделать частично пересчитываемую - только при открытии книги. Естественно, и при изменении входных данных.
Полсностью независимой от пересчета - нет такой, к сожалению.
 
Имеете ввиду макрос, который запускается при открытии и при изменении данных?

Если так, то пока такой вариант не рассматривается - требуется сделать файл без макросов.

Или имелось ввиду что-то другое?
 
формула
$5
Реквизиты в профиле

Может, не стоить тратиться, но пересмотреть решение? Вряд ли избавитесь от тормозов полностью..
 
Без СМЕЩ в данном случае не обойтись, да она и не тормознутая.
А вот ДВССЫЛ убрать можно.
 
Михаил,

ДВССЫЛ действительно можно убрать. Сначала было без нее.

Но тогда при добавлении/удалении строк формула перестает работать.

Или Вы предлагаете что-то другое?
 
Можно и СМЕЩ обойти
 
vikttur,

Вы написали, что Ваше решение не избавит от тормозов полностью. Но снизит их?
 
Наверное. Пересчета после открытия нет, т.к. нет пересчитываемых функций.
Мы тут уже на $10 наговорили :)
Разместили бы в бесплатной ветке. А так... Жду пятерку )
 
договорились. через 15 мин скину
 
Цитата
niknat139 написал:
Но тогда при добавлении/удалении строк формула перестает работать.
Не перестанет.
Да и 5008 зачем строк заранее брать? почему бы не считать столько, сколько есть?
Изменено: Михаил С. - 23.01.2017 16:44:24
 
А почему именно формула, почему не сводная?
Скрытый текст
Скрытый текст
Изменено: TheBestOfTheBest - 23.01.2017 17:00:11
Неизлечимых болезней нет, есть неизлечимые люди.
 
Обменялись. Спасибо.
 
TheBestOfTheBest,

"Сводная" представляется более сложным решением для тех людей, которые будут с файлом работать.
 
Спасибо, смешно.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Спасибо всем откликнувшимся. И спасибо Виктору за предоставленное решение.
Страницы: 1
Наверх