Страницы: 1
RSS
Динамическая формула СЦЕПИТЬ с изменяемым значением адреса
 
Здравствуйте уважаемые знатоки. Вот некоторые формулы
Код
=ЕСЛИ(god=2019;'D:\OneDrive\зп\[Календарь.xlsx]2019'!B3;
ЕСЛИ(god=2020;'D:\OneDrive\зп\[Календарь.xlsx]2020'!B3;
ЕСЛИ(god=2021;'D:\OneDrive\зп\[Календарь.xlsx]2021'!B3;
ЕСЛИ(god=2022;'D:\OneDrive\зп\[Календарь.xlsx]2022'!B3;
ЕСЛИ(god=2023;'D:\OneDrive\зп\[Календарь.xlsx]2023'!B3;
ЕСЛИ(god=2024;'D:\OneDrive\зп\[Календарь.xlsx]2024'!B3;
ЕСЛИ(god=2025;'D:\OneDrive\зп\[Календарь.xlsx]2025'!B3;
ЕСЛИ(god=2026;'D:\OneDrive\зп\[Календарь.xlsx]2026'!B3;
ЕСЛИ(god=2027;'D:\OneDrive\зп\[Календарь.xlsx]2027'!B3;
ЕСЛИ(god=2028;'D:\OneDrive\зп\[Календарь.xlsx]2028'!B3;
ЕСЛИ(god=2029;'D:\OneDrive\зп\[Календарь.xlsx]2029'!B3;
ЕСЛИ(god=2030;'D:\OneDrive\зп\[Календарь.xlsx]2030'!B3;))))))))))))

Как видите формулы не такие уж маленькие, они не только в одной ячейке а во многих находятся, вот из за этого excel подвисает и приходится ждать. Хотелось бы как то уменьшить, к примеру

Код
=СЦЕПИТЬ('D:\OneDrive\зп\[Календарь.xlsx];god;'!B3;)
Просто после писанины формулы и нажав на энтер открывается окошко в котором надо указать книгу

Можно ли как то это реализовать
Изменено: Инсаф - 13.06.2019 14:34:08
 
Вы думаете Excel тормозит из-за громоздкости формул? Если даже Вы замените эти многоэтажные формулы менее длинными, то их общее количество не изменится и прирост в скорости вряд ли произойдет.
Вы лучше опишите ЗАДАЧУ, а не СПОСОБ, которым пытаетесь ее решить. Приложите файл-пример (Как есть - Как надо)
И, кстати, ПРЕДЛОЖИТЕ (здесь же, в сообщении) название для темы, отражающее суть этой самой задачи
Согласие есть продукт при полном непротивлении сторон
 
... а модераторы заменят название на предложенное
 
Уважаемый Инсаф!
Можно воспользоваться ситуацией:
1. Запрос Даты - Месяц, Год.
2. Если устраивает Текущая Дата - используйте в конкретной ячейке функцию - СЕГОДНЯ (из категории - Дата и время)!
Полагаю, Ваша Проблема будет решена сразу же!
Главная цель: удачно в Макросе написать функцию - СУММПРОИЗВ!  :D  
 
Sanja, вы удивитесь, как только я поставил всем эти ячейкам только одно значение т.е. только одну ссылку то файл стал быстро открываться, и объем файла уменьшился чутка

Да, вы правы название темы противоречил первой формуле так что я удалил его с поста выше.
Поясню еще раз что выше писал.
К примеру в ячейке А1 написано значение, при изменений этого значения изменялась сама ссылка на другой лист. Вот пример этой формулы
Код
=СЦЕПИТЬ('D:\OneDrive\зп\[Календарь.xlsx];A1;'!X3)
При попытке сделать такое открывается окошко с запросом на выбор конкретного листа.
Вопрос таков: можно ли сделать так чтобы после писанины этой формулы адресовалась в другую книгу ячейки и выводило значение без тех окошек в котором надо выбирать и тыкать.
Изменено: Инсаф - 26.05.2019 20:23:40
 
Мотя, запрос не надо делать дата и так написано в ячейке
 
Инсаф, Преобразовать текст в адрес ячейки можно только с помощью функции INDIRECT(ДВССЫЛ) но в вашем случае это не поможет так как она не работает с закрытой книгой. Значит или макрос или совсем другое решение, при этом не факт что без макросоа, а его можно предложить только если есть то что написано тут

Цитата
Инсаф написал:
запрос не надо делать дата и так написано в ячейке
Мотя, имела в виду другой запрос и я скорее согласен с таким подходом.
По вопросам из тем форума, личку не читаю.
 
Цитата
Инсаф написал: Да, вы правы название темы противоречил первой формуле так что я удалил его с поста выше.
Причем тут формула? Название должно отражать суть ЗАДАЧИ, которую решает данная формула
Согласие есть продукт при полном непротивлении сторон
 
Off
к слову применительно к удаленной формуле,  Если в таблице столбцы идут в разнобой, хотя это не так судя по скриншоту, то
=SUMIFS(CHOOSE(MONTH("1 " & Mes);Таблица9[ЯНВАРЬ2];Таблица9[ФЕВРАЛЬ2];Таблица9[МАРТ2];Таблица9[АПРЕЛЬ2];Таблица9[МАЙ2];Таблица9[ИЮНЬ2];Таблица9[ИЮЛЬ2];Таблица9[АВГУСТ2];Таблица9[СЕНТЯБРЬ2];Таблица9[ОКТЯБРЬ2];Таблица9[НОЯБРЬ2];Таблица9[ДЕКАБРЬ2]);
Таблица9[месяц];"месяц";CHOOSE(MONTH("1 " & Mes);Таблица9[ЯНВАРЬ];Таблица9[ФЕВРАЛЬ];Таблица9[МАРТ];Таблица9[АПРЕЛЬ];Таблица9[МАЙ];Таблица9[ИЮНЬ];Таблица9[ИЮЛЬ];Таблица9[АВГУСТ];Таблица9[СЕНТЯБРЬ];Таблица9[ОКТЯБРЬ];Таблица9[НОЯБРЬ];Таблица9[ДЕКАБРЬ]);A13)

а если подряд, то еще проще
=SUMIFS(INDEX(Таблица9[[ЯНВАРЬ2]:[ДЕКАБРЬ2]];;MONTH("1 " & Mes));Таблица9[месяц];"месяц";INDEX(Таблица9[[ЯНВАРЬ]:[ДЕКАБРЬ]];;MONTH("1 " & Mes));A13)
По вопросам из тем форума, личку не читаю.
 
Цитата
Инсаф написал:
запрос не надо делать дата и так написано в ячейке
Пока виден Ваш несуразный макрос и какие-то Картинки из-под Вашего файла!  :D
И где же Ваш файл - пример?
Кстати, правила Форума требуют: файл-пример - это Начало темы!!!
 
Извиняюсь за то что вас потревожил. Пришлось оставить все как есть. Спасибо всем тем кто помогал.
 
Есть ответы с решениями. Возможно, кому-нибудь понадобятся.
Предложите название. Модераторы заменят
 
Ув. модераторы, не могли бы поменять название темы Функция сцепить с изменяемой значением адреса
Изменено: Инсаф - 13.06.2019 14:09:43
Страницы: 1
Наверх