Страницы: 1
RSS
Формирование сводной таблицы по значениям из разных листов
 
Доброго времени суток. Третий день думаю над реализацией следующей таблицы. Есть многостраничный документ (листов 30, листы обозваны в формате от "0001" до "9999") с содержимым в не особо сложном формате (см. вложение). Сейчас поставлена цель научить таблицу выводить на листе "Текущий отчёт" сводную информацию из всех остальных 30 листов (кроме листа "Итого") по критерию "Дата = СЕГОДНЯ()-1)", т.е. отображать информацию за вчерашний день. В приложенном файле приведен пример заполнения с учетом информации из разных листов.

Очень хочется не прибегать к макросам и VBA, а обойтись "стандартными" средствами Excel. Это реализуемо?
Изменено: Max2307 - 05.12.2019 09:14:32
 
Max2307, какое отношение имеет Иванов к трубам?
 
Max2307,Возможно поможет >>>
 
Цитата
artyrH написал:
Max2307 , какое отношение имеет Иванов к трубам?
Какое отношение имеет этот вопрос к решению исходной задачи?
 
Цитата
Max2307 написал:
Какое отношение имеет этот вопрос
на листе Текущий отчёт желаемый результат? правильно?
 
Цитата
artyrH написал:
на листе Текущий отчёт желаемый результат? правильно?
Именно
 
Добро время суток
Цитата
Max2307 написал:
Какое отношение имеет этот вопрос к решению исходной задачи?
Такое, что если пример составлен от балды, то и результат решения вы ожидаете подобный? Как аукнется, так и откликнется...
 
Цитата
Max2307 написал:
Именно
на этом листе в девятой строке правильно ли составлены данные?
 
Цитата
artyrH написал:
на этом листе в девятой строке правильно ли составлены данные?
Да, в примере все листы (кроме "Итого") правильно оформлены.
Цитата
Андрей VG написал:
Такое, что если пример составлен от балды, то и результат решения вы ожидаете подобный? Как аукнется, так и откликнется...
Пример составлен не от балды. Не все же считают в экселе выручку от сельского магазина, в конце концов. Или мне сюда надо вывалить все 8 файлов по 30 листов каждый надо было? Спасибо, но мне главное понять как научить эту таблицу сводить данные из остальных листов, дальше я как-нибудь сам справлюсь. Есть предложения по существу - буду рад услышать. Нет - не вижу смысла тратить наше время на пререкания.
 
Цитата
Max2307 написал:
Есть предложения по существу - буду рад услышать
по существу. Вы приложили пример данных и того, что хотите видеть в итоге. Но пример итогового результата не корректен и мы просто не понимаем: так должно быть или это ошибка составления? Если ошибка - то как должно быть правильно? Если Вам лень это объяснять - другим тем более лень додумывать чего-то для Вас и тратить свое время на решение задачи, которое в свете неверно представленного итога тоже окажется бесполезным. Конкретно в данном случае: Иванова в исходных данных в этой строке нет, а в итоге есть. И неясно - его надо туда как-то подставлять или его там и быть не должно?
Вот для чего тут "пререкаются". Не проще ли было просто выложить корректный пример и уже не его основе ждать решения? Это в конце концов больше Вам надо, а не форуму.
Может Вам не классическую сводную надо, а просто собрать данные из всех листов одну таблицу? С большей частью справится этот код: Как собрать данные с нескольких листов или книг?
В качестве диапазона указываете - A6, имена листов: 00*. Так данные будут собраны только с тех листов, имена которых начинаются на два нуля.
В итоге останется только добавить шапку и итоговые формулы. Что можно сделать и макросом, дописав чут-чуть код.

P.S. Забыл совсем. В коде для более правильного результата надо будет заменить эту строку:
Код
lLastrow = .Cells(1, 1).SpecialCells(xlLastCell).Row
на такую:
Код
lLastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
Изменено: Дмитрий(The_Prist) Щербаков - 05.12.2019 08:55:35
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Но пример итогового результата не корректен и мы просто не понимаем: так должно быть или это ошибка составления? Если ошибка - то как должно быть правильно?
Только сейчас заметил, где именно накосячил. Да, в таблице действительно есть недостающие данные. В начальное сообщение выложил корректную версию.

В целом да, наверное предложенное решение справится. Попробую его на досуге. За ответ в любом случае спасибо.
 
еще вариант. в Power Query. выставить дату и адрес файла. нажать Ctrl+Alt+F5
в принципе можно переделать чтобы не только с одного файла, а с нескольких
Страницы: 1
Наверх