Страницы: 1
RSS
Замедление работы при реализации именованной формулы функцией ДВССЫЛ
 
На листе в 1-ой строке с 1-го по 5-ый ячейки заполнены значениями.
В 6-ой ячейке именованная формула считает количество значений, а в 7-ой ячейке именованная формула суммирует значения.
При большом количестве листов замечается замедление реализации именнованной формулы через функцию ДВССЫЛ.

Заранее спасибо.  
 
Arthur26, спасибо за информацию...
Не бойтесь совершенства. Вам его не достичь.
 
Почему не обычными функциями листа? Зачем именованные диапазоны? Зачем ДВССЫЛ?
 
Чтобы скрыть от пользователей формулу СЧЕТ и СУММ. А чтобы реализовать это (скрытие формул от пользователей) - посоветовали поименованными формулами.
 
Цитата
Arthur26 написал:
скрытие формул от пользователей
используйте тогда макрос
Не бойтесь совершенства. Вам его не достичь.
 
А как реализовать макросом?
 
Лучше скрыть формулы.
Владимир
 
Цитата
Arthur26 написал:
как реализовать макросом
ну это вопрос для другой темы, ге вы уже укажите что нужно сделать, из чего получить и каким должен быть результат...но не забывайте одна темы один вопрос
Не бойтесь совершенства. Вам его не достичь.
 
может виновник не столько OFFSET, сколько UDF которая возвращает имя листа?

=GSN()         734,375
=TRIM(RIGHT(SUBSTITUTE(CELL("filename",A1),"]",REPT(" ",32)),32))
    390,625
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,32)          375

чуть меньше чем в два раза она медленнее простого формульного варианта.
По вопросам из тем форума, личку не читаю.
 
Все-таки нет альтернатива применению функции ДВССЫЛ?
 
альтернатива есть - отказ от применения функции ДВССЫЛ
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
И чем заменить тогда?
Изменено: vikttur - 21.10.2021 11:42:43
 
Пропишите имена листов в формулах. Чуть больше ручной работы, но зато насколько меньше головной боли )
 
я так понимаю, что уж очень хочется скрыть формулы, но через имена и разные листы чисто формулами не получится, да и в целом, идея ради скрыть пожертвовать быстродействием, добавить летучести и ... -- так себе идея.
По вопросам из тем форума, личку не читаю.
 
Согласен.
Создать лист, перенести туда ключевые вычисления и скрыть его. А чтобы простому пользователю затруднить поиск - "суперскрыть" - в редакторе VBA задать параметр листа Visible = 2
 
Цитата
Ігор Гончаренко написал:
альтернатива есть - отказ от применения функции ДВССЫЛ
Цитата
vikttur написал:
Пропишите имена листов в формулах.
Цитата
БМВ написал:
да и в целом, идея ради скрыть пожертвовать быстродействием, добавить летучести и ... -- так себе идея.
Но если очень хочется, то
создавать именованные формулы с Областью (видимости) Листа (активного).
 
Ой, жаль, задача нерешаемая.
Дело в том, что кроме сумм и счет есть у меня еще много кое-каких формул. И все эти формулы прописать для каждого листа (а листов тоже много) - путаница будет.
Так, при изменении формулы, изменяю в одном месте, а в предлагаемом варианте надо будет изменять во всех листах.
 
В таком случае проще сделать макрос для дистрибуции формулы по листам.
По вопросам из тем форума, личку не читаю.
 
Да поменять в корне идею защиты. Неправильно, когда из-за защиты файл дико тормозит или защита мешает самому разработчику разобраться через 2 месяца в том, что сам наворотил.
 
Цитата
vikttur написал:
Да поменять в корне идею защиты.
Вить, ктож знает что там , защита или ....

Цитата
Arthur26 написал:
Чтобы скрыть от пользователей формулу СЧЕТ и СУММ. А чтобы реализовать это (скрытие формул от пользователей) - посоветовали поименованными формулами.
и
Цитата
Arthur26 написал:
Так, при изменении формулы, изменяю в одном месте, а в предлагаемом варианте надо будет изменять во всех листах.
По вопросам из тем форума, личку не читаю.
 
Цитата
Arthur26 написал #17:
в предлагаемом варианте надо будет изменять во всех листах
Типа помечтать.
Если вид формул на листах одинаковый, структура листов примерно одинаковая, и озаботиться заранее, то
достаточно создать первый лист с именем этого листа в именованных формулах,
а потом просто копировать этот лист как шаблон - на новых листах префикс-имя-листа в формулах
заменится автоматически.
Правка (вдруг) понадобиться - минимальная.
Изменено: С.М. - 22.10.2021 12:36:55
 
Пруф:
 
С.М., В данном случае я согласен с ТС и необходимостью исправлений в ранее созданных листах , при изменении формулы. Ошибка, или смена методики расчета, или  .... . То есть не  мультиплицирование листа, а именно централизованная замена формул.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
В данном случае я согласен с ТС
Не, "мне [просто] за державу [MS*] обидно" ©  :)
-------------------------------
* В диалоге Создание_имени Диспетчера имён, в списке Область
от далёких предков Эксель остался атавизм: приоритет Область - Книга,
что (имхо) нерационально (юзер не заморачиватся прокруткой списка).
Изменено: С.М. - 22.10.2021 13:50:11
 
Цитата
С.М. написал:
остался атавизм
Согласен с коллегой. Неоправданное использование имен уровня книги создает (часто трудно объяснимые) проблемы при копировании / перемещении листов и т.д.
Владимир
Страницы: 1
Наверх