Страницы: 1
RSS
Динамическая трехмерная ссылка, Не работает динамическая трехмерная ссылка
 
Добрый день, форумчане!

Создал Именной диапазон (имя - НарИтог) с формулой -
="'"&ТЕКСТ(нарастающим!$C$2;"ГГГГ-ММ")&"':'"&ТЕКСТ(нарастающим!$D$2;"ГГГГ-ММ")&"'!"&АДРЕС(СТРОКА();СТОЛБЕЦ();4)

Результатом получается текстовая строка -   '2018-01:2018-02'!G2
И все вроде в ней корректно... но Эксель отказывается считать сумму по такой ссылке...
если просто =СУММ(НарИтог) то вычисляет 0,00 хотя сумма должна быть несколько миллионов
если =СУММ(ДВССЫЛ(НарИтог)) то просто выводит ошибку - #ССЫЛКА!


Пример во вложении...

Цель предоставить пользователю сумму с указанного диапазона листов, имена которых определяются из дат введенных в ячейки листа Нарастающим.
Желательно без макросов...
Изменено: Леонид Коршак - 11.09.2018 19:34:57
 
ДВССЫЛ не принимает трехмерные ссылки.
 
можно сделать скрытый служебный столбец где будет перечень листов книги и на него ссылаться в зависимости от выбранных дат в ячейках C и D
Лень двигатель прогресса, доказано!!!
 
типа такого  
Лень двигатель прогресса, доказано!!!
 
Сергей,А без дополнительных столбцов никак?
 
Если в пределах одного года, то см. F7
=SUMPRODUCT(N(INDIRECT(ADDRESS(ROW();COLUMN();4;;YEAR($C$2)&"-"&TEXT(ROW(INDEX(G:G;MONTH($C$2)):INDEX(G:G;MONTH($D$2)));"00")))))
или более универсально G7
=SUMPRODUCT(N(INDIRECT(ADDRESS(ROW();COLUMN();4;;TEXT(EDATE($C$2;ROW(INDEX(G:G;1):INDEX(G:G;DATEDIF($C$2;$D$2;"M")+1))-1);"ГГГГ-ММ")))))
По вопросам из тем форума, личку не читаю.
 
Рассмотрите вариантБМВ, я на телефоне а так вообще любой вопрос на который дали ответ а потом опять мутный вопрос это издевательство
пишите в ответе Ленивец ваше решение не правильно
Изменено: Сергей - 12.09.2018 20:18:53 (Хз)
Лень двигатель прогресса, доказано!!!
 
Подумал, надо бы ввести проверку на ошибку, на случай если листа не окажется. Теперь массивная формула
=SUM(IFERROR(N(INDIRECT(ADDRESS(ROW();COLUMN();4;;YEAR($C$2)&"-"&TEXT(ROW(INDEX(F:F;MONTH($C$2)):INDEX(F:F;MONTH($D$2)));"00"))));))
или .
=SUM(IFERROR(N(INDIRECT(ADDRESS(ROW();COLUMN();4;;TEXT(EDATE($C$2;ROW(INDEX(G:G;1):INDEX(G:G;DATEDIF($C$2;$D$2;"M")+1))-1);"ГГГГ-ММ"))));))
Изменено: БМВ - 12.09.2018 20:49:18
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Подумал, надо бы ввести проверку на ошибку, на случай если листа не окажется. Теперь массивная формула=SUM(IFERROR(N(INDIRECT(ADDRESS(ROW();COLUMN();4;;YEAR($C$2)&"-"&TEXT(ROW(INDEX(F:F;MONTH($C$2)):INDEX(F:F;MONTH($D$2)));"00")))))или .=SUM(IFERROR(N(INDIRECT(ADDRESS(ROW();COLUMN();4;;TEXT(EDATE($C$2;ROW(INDEX(G:G;1):INDEX(G:G;DATEDIF($C$2;$D$2;"M")+1))-1);"ГГГГ-ММ")))))
Да именно так!!!!
Вы гений :)
 
Цитата
Сергей написал:
а так вообще любой вопрос на который дали ответ а потом опять мутный вопрос это издевательство
Сергей, прошу прощения если не очень развернуто написал.
Предложенный вами вариант был абсолютно правильным и решал проблему, но имел очень много костылей в реализации... - чем больше лишних имен и столбцов, тем проще пользователю, что либо сломать.

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