Массовое создание листов в excel
Консолидация данных представляет собой удобный способ объединения данных из нескольких источников в одном отчете. Например, если в каждом из региональных филиалов вашей компании есть сводная таблица расходов, с помощью консолидации данных можно объединить такие значения в корпоративный отчет о расходах. Такой отчет может содержать итоговые и средние данные по продажам, текущим уровням запасов и наиболее популярным продуктам в рамках всей организации.
Для подведения итогов и обобщения результатов по данным в отдельных диапазонах можно консолидировать их в сводной таблице на главном листе. Диапазоны могут находиться в той же книге, что и главный лист, или в других книгах. Консолидированные данные легче обновлять и обобщать на регулярной основе или по мере необходимости.
Настройка исходных данных
Каждый из диапазонов данных следует преобразовать в формат перекрестной таблицы с совпадающими именами строк и столбцов для элементов, которые вы хотите объединить. В выбранные данные не следует включать итоговые строки и итоговые столбцы. В приведенном ниже примере показано четыре диапазона в формате перекрестной таблицы.
Поля страницы при консолидации данных
При консолидации данных можно использовать поля страницы, содержащие элементы, которые представляют один или несколько исходных диапазонов. Например, при консолидации данных бюджета отдела маркетинга, отдела продаж и производственного отдела поле страницы может содержать отдельный элемент с данными по каждому из этих отделов, а также элемент, содержащий сводные данные. В примере ниже показана сводная таблица, в которой выбраны одно поле страницы и несколько элементов.
Использование именованных диапазонов
Если велика вероятность того, что в следующий раз при консолидации данных исходный диапазон данных изменится (например, изменится число строк), рекомендуется задать имя для каждого из исходных диапазонов на разных листах. Эти имена можно использовать при консолидации диапазонов на главном листе. В случае расширения исходного диапазона перед обновлением сводной таблицы можно обновить диапазон на отдельном листе для указанного имени таким образом, чтобы включить в него новые данные.
Другие способы консолидации данных
В Excel также доступны другие способы консолидации данных, которые позволяют работать с данными в разных форматах и макетах. Например, вы можете создавать формулы с объемными ссылками или использовать команду Консолидация (доступную на вкладке Данные в группе Работа с данными).
Консолидация нескольких диапазонов
Для консолидации нескольких диапазонов вы можете воспользоваться мастером сводных таблиц и диаграмм. В нем можно указать, сколько полей страницы будет использоваться: ни одного, одно или несколько.
Консолидация данных без использования полей страницы
Чтобы объединить данные всех диапазонов и создать консолидированный диапазон без полей страницы, сделайте следующее:
Добавьте мастер сводных таблиц и диаграмм на панель быстрого доступа. Для этого:
Щелкните стрелку рядом с панелью инструментов и выберите Дополнительные команды.
В списке Выбрать команды из выберите пункт Все команды.
Выберите в списке пункт Мастер сводных таблиц и диаграмм и нажмите кнопку Добавить, а затем — кнопку ОК.
В книге щелкните пустую ячейку, которая не является частью сводной таблицы.
Щелкните значок мастера на панели быстрого доступа.
На странице Шаг 1 мастера выберите параметр в нескольких диапазонах консолидации, а затем нажмите кнопку Далее.
На странице Шаг 2а выберите параметр Создать поля страницы, а затем нажмите кнопку Далее.
На странице Шаг 2б сделайте следующее:
Перейдите в книгу и выделите диапазон ячеек, а затем вернитесь в мастер сводных таблиц и диаграмм и нажмите кнопку Добавить.
Совет: Если диапазон ячеек находится в другой книге, сначала откройте ее, чтобы упростить выбор данных.
В разделе Во-первых, укажите количество полей страницы сводной таблицы введите 0, а затем нажмите кнопку Далее.
На странице Шаг 3 укажите, следует ли добавлять сводную таблицу на новый или же на существующий лист, и нажмите кнопку Готово.
Консолидация данных с использованием одного поля страницы
Чтобы включить одно поле страницы, содержащее элемент для каждого исходного диапазона, а также элемент для консолидации всех диапазонов, сделайте следующее:
Добавьте мастер сводных таблиц и диаграмм на панель быстрого доступа. Для этого:
Щелкните стрелку рядом с панелью инструментов и выберите Дополнительные команды.
В списке Выбрать команды из выберите пункт Все команды.
Выберите в списке пункт Мастер сводных таблиц и диаграмм и нажмите кнопку Добавить, а затем — кнопку ОК.
В книге щелкните пустую ячейку, которая не является частью сводной таблицы.
На странице Шаг 1 мастера выберите параметр в нескольких диапазонах консолидации, а затем нажмите кнопку Далее.
На странице Шаг 2а выберите параметр Создать одно поле страницы, а затем нажмите кнопку Далее.
На странице Шаг 2б сделайте следующее:
Перейдите в книгу и выделите диапазон ячеек, а затем вернитесь в мастер сводных таблиц и диаграмм и нажмите кнопку Добавить.
Совет: Если диапазон ячеек находится в другой книге, сначала откройте ее, чтобы упростить выбор данных.
На странице Шаг 3 укажите, следует ли добавлять сводную таблицу на новый или же на существующий лист, и нажмите кнопку Готово.
Консолидация данных с использованием нескольких полей страницы
Вы можете создать несколько полей страницы и назначить имена элементов каждому из исходных диапазонов. Это позволяет выполнять частичную или полную консолидацию. Например, в одном поле страницы могут консолидироваться данных отдела маркетинга и отдела продаж без данных производственного отдела, а в другом поле — данные всех трех отделов. Чтобы создать консолидацию с использованием нескольких полей страницы, сделайте следующее:
Добавьте мастер сводных таблиц и диаграмм на панель быстрого доступа. Для этого:
Щелкните стрелку рядом с панелью инструментов и выберите Дополнительные команды.
В списке Выбрать команды из выберите пункт Все команды.
Выберите в списке пункт Мастер сводных таблиц и диаграмм и нажмите кнопку Добавить, а затем — кнопку ОК.
В книге щелкните пустую ячейку, которая не является частью сводной таблицы.
На странице Шаг 1 мастера выберите параметр в нескольких диапазонах консолидации, а затем нажмите кнопку Далее.
На странице Шаг 2а выберите параметр Создать поля страницы, а затем нажмите кнопку Далее.
На странице Шаг 2б сделайте следующее:
Перейдите в книгу и выделите диапазон ячеек, а затем вернитесь в мастер сводных таблиц и диаграмм и нажмите кнопку Добавить.
Совет: Если диапазон ячеек находится в другой книге, сначала откройте ее, чтобы упростить выбор данных.
В разделе Во-первых, укажите количество полей страницы сводной таблицы щелкните число полей, которые вы хотите использовать.
В группе Затем выберите диапазон в списке и укажите метку элемента в каждом из доступных окон полей. Повторите операцию для каждого диапазона для каждого из полей страницы выберите диапазон ячеек, а затем укажите его имя.
Если в разделе Во-первых, укажите количество полей страницы сводной таблицы задано число 1, выберите каждый из диапазонов, а затем введите уникальное имя в поле Первое поле. Если у вас четыре диапазона, каждый из которых соответствует кварталу финансового года, выберите первый диапазон, введите имя "Кв1", выберите второй диапазон, введите имя "Кв2" и повторите процедуру для диапазонов "Кв3" и "Кв4".
Если в разделе Во-первых, укажите количество полей страницы сводной таблицы задано число 2, выполните аналогичные действия в поле Первое поле. Затем выберите два диапазона и введите в поле Второе поле одинаковое имя, например "Пг1" и "Пг2". Выберите первый диапазон и введите имя "Пг1", выберите второй диапазон и введите имя "Пг1", выберите третий диапазон и введите имя "Пг2", выберите четвертый диапазон и введите имя "Пг2".
На странице Шаг 3 укажите, следует ли добавлять сводную таблицу на новый или же на существующий лист, и нажмите кнопку Готово.
В Excel можно легко вставлять, переименовывать и удалять листы книги.
Вставка листа
Нажмите значок "плюс" в нижней части экрана.
Можно также на вкладке Главная нажать кнопку Вставить и выбрать команду Вставить лист.
Переименование листа
Чтобы быстро переименовать лист, дважды щелкните его имя на ярлычке Лист.
Или щелкните ярлычок Лист правой кнопкой мыши, выберите команду Переименовать и введите новое имя.
Удаление листа
Щелкните правой кнопкой мыши ярлычок Лист и выберите команду Удалить.
Можно также выбрать лист, а затем на вкладке Главная нажать кнопку Удалить и выбрать команду Удалить лист.
Примечание: Ярлычки листов отображаются по умолчанию. Если вы не видите их, щелкните Параметры > Дополнительно > Показать параметры для следующей книги > Показывать ярлычки листов.
Чтобы вставить новый лист, выполните одно из следующих действий.
Чтобы быстро вставить новый лист после существующих, щелкните вкладку Вставить лист в нижней части экрана.
Чтобы вставить новый лист перед существующим, выберите нужный лист и затем на вкладке Главная в группе Ячейки нажмите кнопку Вставить, а потом выберите пункт Вставить лист.
Совет: Можно также щелкнуть правой кнопкой мыши ярлычок существующего листа и выбрать команду Вставить. На вкладке Общие щелкните Лист, а затем нажмите кнопку ОК.
Примечание: Чтобы изменить порядок следования листов в книге, щелкните ярлычок листа, который необходимо переместить, и перетащите его в необходимое местоположение.
Выберите нужное действие
Одновременная вставка нескольких листов
Удерживая нажатой клавишу SHIFT, выберите столько ярлычков листов книги, сколько листов требуется вставить в открытую книгу.
Например, если требуется добавить три новых листа, выберите три ярлычка существующих листов.
На вкладке Главная в группе Ячейки щелкните Вставить, а затем выберите Вставить лист.
Совет: Можно также щелкнуть выделенные ярлычки листов правой кнопкой мыши, а затем выбрать пункт Вставить. На вкладке Общие щелкните Лист, а затем нажмите кнопку ОК.
Чтобы изменить порядок следования листов в книге, щелкните ярлычок листа, который необходимо переместить, и перетащите его в необходимое местоположение.
Изменение количества листов по умолчанию в новой книге
Откройте вкладку Файл.
Что такое кнопка Microsoft Backstage и где она находится?
Дополнительные сведения о кнопке Microsoft Backstage см. в статье Что такое представление Microsoft Backstage, и где оно находится?
В разделе Excel выберите пункт Параметры.
На вкладке Общие в группе При создании новых книг в поле Число листов введите количество листов, которые по умолчанию должны включаться в новую книгу.
Чтобы вернуться к файлу, откройте любую другую вкладку.
Вставка нового листа, основанного на настраиваемом шаблоне
При необходимости создайте шаблон листа, на основе которого будет создан новый лист.
Как создать шаблон листа
Выберите лист, который вы хотите использовать в качестве шаблона.
Откройте вкладку Файл.
В разделе Сведения нажмите кнопку Сохранить как.
В поле Имя файла введите имя шаблона листа.
Чтобы создать настраиваемый шаблон листа, введите нужное имя.
Чтобы создать стандартный шаблон листа, введите sheet.
Примечание: Настраиваемые шаблоны автоматически сохраняются в папке Шаблоны. Стандартный шаблон листа (sheet.xltx или sheet.xltm) должен сохраняться в папке XLStart, которая обычно находится по адресу C:\Program Files\Microsoft Office\Office14\XLStart.
Выполните одно из указанных ниже действий.
На компьютере под управлением Windows Vista выберите в списке пункт Шаблон Excel или Шаблон Excel с поддержкой макросов.
На компьютере под управлением Microsoft Windows XP в окне Сохранить как выберите пункт Шаблон Excel или Шаблон Excel с поддержкой макросов.
Щелкните правой кнопкой мыши ярлычок листа и выберите команду Вставить.
Дважды щелкните нужный шаблон листа.
Переименование листа
В строке ярлычков листов щелкните правой кнопкой мыши ярлычок, который требуется переименовать, и выберите команду Переименовать.
Выделите текущее имя и введите новое.
Совет: При печати листа можно вывести его имя.
Как печатать имена листов
На вкладке Вставка в группе Текст нажмите кнопку Колонтитулы.
В режиме разметки щелкните в том месте, где должно отображаться имя листа.
В группе Работа с колонтитулами нажмите кнопку Имя листа .
Удаление одного или нескольких листов
Выделите лист или листы, которые требуется удалить.
Совет: Если выделено несколько листов, в строке заголовка вверху листа появится надпись [Группа]. Чтобы отменить выделение нескольких листов книги, щелкните любой невыделенный лист. Если невыделенных листов нет, щелкните правой кнопкой мыши ярлычок выделенного листа и в контекстном меню выберите команду Разгруппировать листы.
На вкладке Главная в группе Ячейки щелкните стрелку справа от кнопки Удалить и выберите пункт Удалить лист.
Совет: Можно также щелкнуть правой кнопкой мыши ярлычок листа или любого из выделенных листов, которые необходимо удалить, и выбрать команду Удалить лист.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Вы можете быстро выполнять задачи одновременно на нескольких таблицах, сгруппив их. Если объединить листы в группу, любые изменения на каждом из них будут в том же месте выполняться на всех выделенных листах. Например, если вы хотите вставить стандартную таблицу или формулу на большое число листов, таким образом можно сэкономить немало времени. Объединение листов в группу особенно эффективно, если их структура уже аналогична.
В этой статье
Группировка выделенных листов
Ниже описан пример, когда в книге есть несколько листов, каждый из которых соответствует отдельному городу. Структура всех листов одинакова и отражает продажи кофе.
Чтобы выполнить одинаковые задачи на определенных листах, сделайте следующее.
Удерживая клавишу CTRL, щелкните ярлычки листов, которые хотите объединить в группу.
Совет: Если вы хотите сгруппировать листы, расположенные подряд, щелкните ярлычок первого листа диапазона, а затем, удерживая клавишу SHIFT — последнего.
Теперь добавим одну формулу в ячейку B7 на листах "Париж" и "Лондон". Если два листа сгруппированы, изменения, внесенные на одном из них, автоматически выполнятся на другом. Например, изменение формулы на листе "Париж" в этом случае также будет учтено на листе "Лондон".
Примечание: После группировки листов в названии книги отобразится надпись [Группа].
Совет: Клиентам нравятся советы. Если вы можете поделиться хорошим советом, добавьте его.
Отмена группировки выделенных листов
Если вы не хотите применять определенные задачи к определенному набору, разгруппировать выбранные.
Удерживая клавишу CTRL, щелкните листы, которые хотите убрать из группы.
Группировка всех листов
Вы можете легко сгруппировать все листы книги.
Щелкните правой кнопкой мыши ярлычок любого листа.
Выберите команду Выделить все листы.
Примечание: Если сгруппировать все листы, а затем открыть любой из них, группировка будет отменена. Однако если выделены не все листы книги, между ними можно свободно переключаться, не нарушая группировки.
Отмена группировки всех листов
После внесения всех нужных изменений вы можете отменить группировку листов.
Щелкните ярлычок любого листа группы.
Выберите команду Разгруппировать листы.
Совет: Для разгруппирования также можно щелкнуть ярлычок любого листа, не входящего в группу.
Автоматизация заполнения и вывода файлов по шаблонам рутинных документов это одна из та областей в отрасли строительства по которой традиционно софт, кроме бухгалтерского, находится на уровне вылизанных поделок, на мой скромный взгляд. Поэтому, развивая тему, приглашаю обсудить те проблемы и возможности, с которыми пришлось столкнуться в процессе реализации на базе MS Excel.
Со времени предыдущей статьи прошло уже пол года. За это время при помощи этой заготовки была разработана текстовая часть Исполнительной документации и сдана Заказчику. По итогам работы и отзывам редких участников в файл были внесены следующие правки, о которых я бы хотел поговорить и это 3 большие темы:
- Эстетика и юзабилити
- Оптимизация кода + нововведения
- Структура и связи
1. Эстетика и юзабилити
— Таблицы это в первую очередь таблицы, безликие ячейки с подписанными колонками и строками. Однако очень часто мы сталкиваемся с ситуацией, когда необходимы дополнительные пояснения к значению, которое будет находится в ячейке, или требуется дополнительно активизировать внимание пользователя на важности вводимого значения. Особенно важно, если у Вас, как в моем случае, строки в колонке очень длинной таблицы содержат разноплановую информацию, например: даты, виды работ, материалы, подписанты и многие др. В таких случаях у нас есть 2 инструмента для решения задачи:
Есть и минусы такого решения, в частности всплывающие подсказки могут раздражать, но в ситуации, когда на объекте 15" мониторы на ноутбуках с разрешением 1366×768 это разумный компромисс, что бы рабочая область была как можно больше.
Если внимательно проанализировать данные, то окажется что в таблице будут ячейки 3х типов:
- ячейки в которые непосредственно необходимо вводить новую текстовую информацию;
- ячейки, значение которых может принимать значение из ограниченного диапазона, введенного заранее, например: ФИО и должность подписантов;
- ячейки в которых прописаны формулы, например есть часть данных которая будет повторяться из акта в акт и такую информацию достаточно ввести один раз, например: наименование объекта, участок, организация и т.п.; либо формулы призванные реализовать технические возможности, например: переноса строки, подтягивание объемов работ, регалий по ФИО и т.п.
Здесь первая процедура постоянно будет защищать лист при помощи пароля 111, вторая будет блокировать функционал вырезать-вставить. Надо ли говорить, что это все работает только при включенных макросах, но с другой стороны без них и файл на 100% функционировать не будет.
Для случаев же п.2 разумно завести лист где столбцы будут содержать меняющиеся значения, прописать в них ссылки на диапазоны, присвоить им имена, т.е. на вкладке «Формулы» -> «Диспетчер имен» каждому диапазону присвоить имена и через вкладку «Данные» -> пункт меню «Проверка данных» -> вкладка «Параметры» -> условие проверки — «Список» реализовать выпадающее меню.
И, конечно, не забывайте ставить условия форматирования цветом, например для случаев, когда заполнены все необходимые строки в столбце через «Условное форматирование», например формула условного форматирования закрашивает ячейку, если следующие ячейки под ней содержат текст: =И(ДЛСТР(E5)>0; ДЛСТР(E6)>0)
2. Оптимизация кода + нововведения
Начать придется издалека, а именно вернуться к вопросу о реализации механизма заполнения шаблона. Если Вы решите заполнить шаблон в формате Excel и в формате Word, то это будут совершенно 2 разных механизма. В основе своей в файл Excel пишутся значения в конкретные ячейки файла или диапазоны ячеек и имеют привязку вида (у, х) (не спрашивайте почему у них строка идет впереди столбца при адресации — не знаю), например: Worksheet.Cells(y, x) = k. Отсюда же и первая мысль, что заполнять Excel-шаблон можно либо явным образом, т.е. непосредственно весь макрос будет содержать что откуда берется и куда закладывается, но что если придется вносить изменения в таблицы данных или выйдет новая форма шаблона? Отсюда вторая идея реализации, код которой описан в первой статье — это парсинг некоторых символов, которыми сперва заполняется массив, а так же в свою очередь содержит файл шаблона в нужных местах. Затем в каждой строке шаблона ищется совпадение с элементами массива поочередно, если совпадение есть, то порядковый номер массива привязан к строке таблицы откуда берутся данные, а столбец берется с листа в котором мы указываем какие именно акты мы хотим вывести. Итого несколько вложенных циклов, что накладывает ограничения на форматирование шаблона Excel, чем проще — тем лучше, потому что чем больше ячеек парсить — тем дольше будет происходить заполнение шаблона данными.
По многочисленным просьбам мною была интегрирована возможность вывода в шаблон формата Word, и здесь на самом деле есть 2 способа вывода текста:
когда мы так же считываем массив управляющих кодов, вручную прописываем их в шаблоне через «Вставка» -> «Закладки» и дальше просто прогоняем макросом присваивая закладке данные из соответствующей ей ячейке в файле Excel.
Здесь вынесена в отдельную процедуру обращение к закладке и arrСсылкиДанных(i) — это массив который содержит управляющие символы. Издержки метода, если Вам потребуется сослаться на значение Закладки в другом месте, например дату нужно использовать в заголовке и напротив фамилии каждого подписанта, то необходимо использовать в шаблоне Меню «Вставка» -> пункт меню «Перекрестная ссылка» -> Тип ссылки: «Закладка», Вставить ссылку на: «Текст закладки» и снять галочку «Вставить как гиперссылку». Что бы это отобрадзилось корректно не забудте обновить в конце макроса перед выводом поля Wd.Fields.Update
2. Если рисовать таблицы средствами Word, то к ним можно обращаться с адресацией в ячейкуЗдесь нужно обратить внимание, что у каждой таблицы в Word есть свой внутренний номер, методом нехитрого перебора Вы найдете нужный, а дальше принцип тот же, что и в Excel.
Между выводами в файлы форматов Word и Excel есть огромная пропасть, которая заключается в следующем:
Шаблон Excel требует перед использованием настроить отображение под конкретный принтер, т.к. фактическая область печати разнится от модели к модели. Так же перенос строки текста возможен, но только в пределах ячейки/объединенных ячеек. В последнем случае не будте автораздвигания строки, в случае переноса текста. Т.е. Вам вручную придется заранее определит границы области, которые будут содержать текст, который в свою очередь в них еще должен убраться. Зато Вы точно задали границы печати и выводимого текста и уверены, что не съедет информация (но не содержание) с одного листа на другой.
Шаблон Word при настройке автоматически переносит текст на последующую строку, если он не убрался по ширине ячейки/строки, однако этим самым он вызывает непрогнозируемый сдвиг текста по вертикали. Учитывая тот факт, что по требованиям к Исполнительной документации в строительстве ЗАПРЕЩЕНО один акт печатать на 2х и более листах, то это в свою очередь так же рождает проблемы.
Вторым большим нововведением стал отказ от реализации переноса текстовых строк с макроса VBA и заменой на функцию Excel, благодаря чему ускорилась работа с файлом.
Для первой строки:
<=ЕСЛИОШИБКА(ЕСЛИ($F$20<>"-"; ЕСЛИ(ДЛСТР('Данные для проекта'!$C$3)<106;'Данные для проекта'!$C$3; ПСТР('Данные для проекта'!$C$3;1;105-ПОИСКПОЗ(" *"; ПРАВСИМВ(ПСТР('Данные для проекта'!$C$3;1;105); СТРОКА($1:$10));))));"-")>
<=ЕСЛИОШИБКА(ЕСЛИ($F$20<>"-"; ПСТР('Данные для проекта'!$C$3; СУММ(ДЛСТР(F$1:F1))+1;105-ПОИСКПОЗ(" *"; ПРАВСИМВ(ПСТР('Данные для проекта'!$C$3; СУММ(ДЛСТР(F$1:F1))+1;105); СТРОКА($1:$10));)));"-")>
Здесь используется принцип массивов, т.е. вводится такой текст по Ctrl + Shift + Enter, а не обычному Enter. Сами формулы располагаются в ячейках F1 и F2. 'Данные для проекта'!$C$3 — ссылка на наименования объекта, длина текста которого более 105 символов. Перенос организуется в случае превышения длины текста в 105 символов.
Еще одним нововведением стал общий реестр, а так же контроль списания материалов по актам АОСР, но здесь ничего нового, просто парсинг соответствующих строк в свяске ИНДЕКС + ПОИСКПОЗ, которые расписаны во многих мануалах.
3. Структура и связи
Но мой пост так бы и остался рядовым постом с очередной игрой в изобретание велосипеда инструментами, которые рассчитаны на совершенно другое, если бы ни одно НО(!) Месячно-суточный график.
Идея о том, что можно именно на него много чего повесить, например заполнение Общего журнала работ в части Раздела 3 — наименование работ по датам, очередность и необходимость Актов освидетельствования скрытых работ и не только — завладела моими мыслями. Обычно в Excel закрашивают даты, в зависимости от диапазонов дат — начало и конец, но не на стройке. На стройке в календарном графике пишут объемы, а в зависимости от того с какой даты напротив наименования работ стоят объемы и по которую — получаются диапазоны дат отчетных периодов. На скриншоте серым помечены объемы попадающие в систематизированные отчетные периоды (1мес). Таким образом получается, что если:
Читайте также: