Здравствуйте, форумчане!
Не могу грамотно решить задачу. Свой метод решения (насколько хватает знаний) - не нравится. Прошу помочь.
Есть исходный файл с несколькими листами данных (обозначены в файле как 1, 2, ...). Листов может быть очень много. Делаю выборку по ним в сводной таблице на листе Sheet. В своде требуется отображать последние строки каждого листа. Хотелось бы как-то быстро определять, сколько у нас в файле листов с данными ( которые '1', '2' и т.п.) и формировать сводную таблицу с соответствующим количеством строк.
Я сделал как умею: у меня в сводной таблице в столбце rows функцией "МАКС" определяется сколько строк в каждом из листов с данными. А далее, функцией "ИНДЕКС" в столбцах desc(i) я вытаскиваю данные из нужных мне ячеек по последним строкам каждого листа. И все вроде работает, но! Проблема появится, если листов с данными будет очень много. Как быстро все последние строки по каждому листу отобразить, если там десятки тысяч листов? Руками я замучаюсь это прописывать формулами. Думал как-то брать значения номеров листов (столбец А) и их пробовать в формулу как текст формулы засунуть (примечания отобразил с этим вопросом) - не получается. Есть возможность так сделать? Тогда можно было бы и так решить, но придется руками растиражировать количество строк по количеству столбцов... Файлов много, листов много, руками каждый свод тянуть неудобно. А как сделать чтобы определялось количество столбцов и формировались последние строки по ним в виде сводной таблицы? Наверное макросом, но в макросах и программировании я неуч. Кто-то может помочь с данной задачей?
Пример приложил. Спасибо!
Не могу грамотно решить задачу. Свой метод решения (насколько хватает знаний) - не нравится. Прошу помочь.
Есть исходный файл с несколькими листами данных (обозначены в файле как 1, 2, ...). Листов может быть очень много. Делаю выборку по ним в сводной таблице на листе Sheet. В своде требуется отображать последние строки каждого листа. Хотелось бы как-то быстро определять, сколько у нас в файле листов с данными ( которые '1', '2' и т.п.) и формировать сводную таблицу с соответствующим количеством строк.
Я сделал как умею: у меня в сводной таблице в столбце rows функцией "МАКС" определяется сколько строк в каждом из листов с данными. А далее, функцией "ИНДЕКС" в столбцах desc(i) я вытаскиваю данные из нужных мне ячеек по последним строкам каждого листа. И все вроде работает, но! Проблема появится, если листов с данными будет очень много. Как быстро все последние строки по каждому листу отобразить, если там десятки тысяч листов? Руками я замучаюсь это прописывать формулами. Думал как-то брать значения номеров листов (столбец А) и их пробовать в формулу как текст формулы засунуть (примечания отобразил с этим вопросом) - не получается. Есть возможность так сделать? Тогда можно было бы и так решить, но придется руками растиражировать количество строк по количеству столбцов... Файлов много, листов много, руками каждый свод тянуть неудобно. А как сделать чтобы определялось количество столбцов и формировались последние строки по ним в виде сводной таблицы? Наверное макросом, но в макросах и программировании я неуч. Кто-то может помочь с данной задачей?
Пример приложил. Спасибо!
Изменено: - 09.01.2023 09:30:05
Чем смогу - помогу. Сам - не гуру.