powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Можно ли помощью "сцепить" собрать формулу?
4 сообщений из 4, страница 1 из 1
Можно ли помощью "сцепить" собрать формулу?
    #39433201
Aleksiie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть книга, в которой несколько листов с названиями в виде дат 01.01.2017, 01.02.2017 и т.д.
На листах с датами есть значения, которые требуется получить, используя, например "суммесли", "суммеслимн".

ABCDE1Дата A B C D201.01.2017 2 3 4 5302.01.2017 7 8 9 10
Задача заключается в том, что для получения нужного значения на определенную дату необходимо в формуле каждый раз менять ссылку на нужный лист в самой формуле, например
Код: vbnet
1.
СУММЕСЛИ('02.01.2017'!$A$2:$A$5;Лист1!B1;'02.01.2017'!$B$2:$B$5)

на
Код: vbnet
1.
СУММЕСЛИ('01.01.2017'!$A$2:$A$5;Лист2!B1;'01.01.2017'!$B$2:$B$5)

и т.д., чтобы получить нужные значения.
Можно ли соответствующую ссылку на лист в книге в самой формуле привязать к значению в столбце "Дата", то есть, например,
с помощью
Код: vbnet
1.
СЦЕПИТЬ("'";A3;"'!$A$2:$A$5") я получаю '02.01.2017'!$A$2:$A$5

.
Таким образом, собрав формулу
Код: vbnet
1.
СУММЕСЛИ(СЦЕПИТЬ("'";A3;"'!$A$2:$A$5");Лист1!B1;СЦЕПИТЬ("'";A3;"'!$B$2:$B$5"))


я получаю
Код: vbnet
1.
СУММЕСЛИ('02.01.2017'!$A$2:$A$5;Лист2!B1;'02.01.2017'!$B$2:$B$5)

... но получается ошибка.
Скажите, пожалуйста, "СЦЕПИТЬ" нельзя использовать для создания ссылки на книгу или нужно добавить, что-то еще к формуле? Заранее большое спасибо!
...
Рейтинг: 0 / 0
Можно ли помощью "сцепить" собрать формулу?
    #39433248
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksiie,

"сцепить" можешь подключить, только оборачивать придётся для преобразования в ссылку.
для получения адреса из стрингов используется функция =Address()
для получения результата из адреса в стринговой форме используется функция =Indirect()
чтобы решить твою задачу нужно применить комбинацию этих двух функций например =Indirect(address(..

или только последнюю функцию, простейший пример будет
Код: sql
1.
=sum(indirect(...))

более сложный (твой) случай что-то типа:
Код: sql
1.
=SUMIF(INDIRECT(A2&"!A2:A5",1),INDIRECT("какой-то_номер_листа_или другая_формула"&"!B1",1),INDIRECT(A2&"!B2:B5",1))

или проще вроде
Код: sql
1.
=SUMIF(INDIRECT(A2&"!A2:A5"),INDIRECT("Лист"&"номер_можно_форумлой"&"!B1"),INDIRECT(A2&"!B2:B5"))
...
Рейтинг: 0 / 0
Можно ли помощью "сцепить" собрать формулу?
    #39433296
Aleksiie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vikkiv,

Спасибо! Оказалось все просто!
...
Рейтинг: 0 / 0
Можно ли помощью "сцепить" собрать формулу?
    #39433815
MokeevP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vikkivAleksiie,

"сцепить" можешь подключить, только оборачивать придётся для преобразования в ссылку.
для получения адреса из стрингов используется функция =Address()
для получения результата из адреса в стринговой форме используется функция =Indirect()
чтобы решить твою задачу нужно применить комбинацию этих двух функций например =Indirect(address(..

или только последнюю функцию, простейший пример будет
Код: sql
1.
=sum(indirect(...))

более сложный (твой) случай что-то типа:
Код: sql
1.
=SUMIF(INDIRECT(A2&"!A2:A5",1),INDIRECT("какой-то_номер_листа_или другая_формула"&"!B1",1),INDIRECT(A2&"!B2:B5",1))

или проще вроде
Код: sql
1.
=SUMIF(INDIRECT(A2&"!A2:A5"),INDIRECT("Лист"&"номер_можно_форумлой"&"!B1"),INDIRECT(A2&"!B2:B5"))



INDIRECT это в локализованной версии ДВССЫЛ?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Можно ли помощью "сцепить" собрать формулу?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]