Страницы: 1
RSS
О функции ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ и ДВССЫЛ внутри нее
 
Кто-либо пользовал эти две функции (см.заголовок темы) вместе?  
 
Недавно попалась вот такая формула:  
ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ("Значение";ДВССЫЛ(СЦЕПИТЬ([@ПОЛЕ1];"!$L$1"));"Заголовок1";[@Заголовок1];"Заголовок2";[@Заголовок2];"Заголовок3";[@Заголовок3]...........))
 
В синтаксисе ф-ции ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ на месте "сводная_таблица" находится конструкция ДВССЫЛ(СЦЕПИТЬ([@ПОЛЕ1];"!$L$1")) при попытке просчитать этот элемент (по F9) возвращает "Сумма по полю Значение", а не (как ожидалось) название сводной...
Тем не менее формула работает и возвращает нужный результат.  
 
Если кто-то работал с подобными конструкциями или может объяснить особенности работы функции ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ и ДВССЫЛ внутри нее, пожалуйста, поделитесь опытом!
 
Вам бы не название сводной получать, а ссылку "на ячейку, диапазон ячеек или именованный диапазон ячеек в отчете сводной таблицы. Эти сведения используются для определения отчета сводной таблицы, содержащего данные, которые требуется извлечь" (конец цитаты).  
Вы уверены, что конструция СЦЕПИТЬ([@ПОЛЕ1];"!$L$1") возвращает верную ссылку в виде текста?
[@ПОЛЕ1] - это имя листа? может здесь должна быть ссылка на ячейку содержащую имя листа?
И будет лучше, если имя листа будет в одинарных кавычках (вдруг в нем пробел окажется)  
Т.е. так: СЦЕПИТЬ("'";A1;"'!$L$1")    
где А1 - ячейка содержащащая имя листа
Bite my shiny metal ass!      
 
{quote}{login=Лузер™}{date=03.03.2011 11:02}{thema=}{post}  
Вы уверены, что конструция СЦЕПИТЬ([@ПОЛЕ1];"!$L$1") возвращает верную ссылку в виде текста?
{/post}{/quote}  
 
Да, эта конструкция как раз и возвращает ссылку в виде текста.  
 
[@ПОЛЕ1] - это имя листа?
нет, это название поля в этой (текущей) "Таблице Excel", в сцепку при этом попадает значение по этому полю из соответствующей строки. То есть, для одной строки эта часть формулы (СЦЕПИТЬ([@ПОЛЕ1];"!$L$1")) вернет:
"БББ!$L$1"  
а для другой строки:  
"ВВВ!$L$1"  
 
При этом на листах БББ и ВВВ имеются сводные и каждая из них начинается с L1
 
Ну вот у меня работает:  
=ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ("Факт, кВт*ч";ДВССЫЛ( СЦЕПИТЬ("'";D7;"'!$a$3") );"Наименование";"Север";"Регион";"Пермь";"Код ГТП";"PT";"Дата";"01")  
 
где в Д7 живет "[отчет.xlsb]Сбор факта"
 
Попробуйте добавить одинарные кавычки.  
Кстати, книга с листами БББ и ВВВ открыта? ДВССЫЛ только с открытыми книгами живет
Bite my shiny metal ass!      
 
это все в пределах одного файла, поэтому проблем не возникает  
 
вопрос следующий: если изменить структуру сводной, на которую ссылается ДВССЫЛ, что вернет ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ?  
 
Да и вообще, как, так сказать, по сути работает ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ со структурой сводной к которой обращается?  
 
просто я, впервые встречаюсь с использоваием ф-ции ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ в качестве поставщика данных, который фактически имитирует работу выборки по параметрам...
 
Из справки по функции:  
Если аргументы не описывают видимое поле или содержат неотображаемое поле страницы, функция ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ возвращает значение ошибки #ССЫЛКА!.    
 
 
Я сделал так: на отдельном листе создал сводную с максимальной выборкой, чтобы все поля отображались. А на другом листе уже выбираю только нужные.  
Минусы:  
-очень высокий вес файла.  
-долго пересчитывается (там еще много формул массивов)  
Плюсы:  
-не имею #ССЫЛКА!.    
-не имею проблем с форматированием сводной - оно само по себе, мой отчет сам по себе.  
Только сводной обойтись не могу, так как есть вычисления, которые сводная не поддерживает.
Bite my shiny metal ass!      
 
Большое спасибо за участие в теме и очень полезные вопросы!  
Вывод прост: будем юзать эту функцию, ибо она полезна!
 
Я не понял, с ДВССЫЛ получилось?
Bite my shiny metal ass!      
 
На данный момент я получил ответы на все вопросы, с ДВССЫЛ тоже разобрался, спасибо!
Страницы: 1
Читают тему
Наверх