При консолидации происходит обобщение однородных данных, расположенных в различных таблицах, которые могут находиться на разных рабочних листах и даже в разных рабочих книгах. При этом могут вычисляться суммы, статистические величины и т.п.. Например, таким способом можно обрабатывать данные, поступающие в виде электронных таблиц с одинаковой структурой от различных филиалов, подводя общие результаты.
Существуют разные способы консолидации: консолидация трехмерными формулами; консолидация рабочих листов по физическому расположению; консолидация рабочих листов по заголовкам строк и столбцов.
Консолидацию с трехмерными формулами можно использовать, если есть рабочие книги, в каждой из которых есть рабочие листы с одинаковыми именами и консолидируемые данные размещаются в одних и тех же диапазонах в них, а результат консолидации размещается в одной ячейке и вычисляется в соответствии с известной формулой на основе данных из исходных диапазонов.
Рассмотрим пример. Есть две рабочие книги «Расходы-1999.xls» и «Расходы-2000.xls», в каждой из которых на отдельном рабочем листе приведены сведения о расходах филиалов некоторой компании по месяцам (данные за каждый квартал находятся на отдельных листах, данные о каждом филиале расположены в одних и тех же строках, данные по месяцам – в отдельных столбцах, рис. 17).
Нужно создать рабочую книгу «Отчет.xls», в которой будут просуммированы расходы всех филиалов за каждый год. Для этого должны использоваться формулы суммирования с трехмерной ссылкой (Книга-Листы-Диапазон), которая для подсчетов расходов за 1999 г будет выглядеть следующим образом:
В этой формуле производится суммирование всех данных за 1999 год по одному из филиалов: трехмерная ссылка указывает исходную книгу и диапазон суммируемых ячеек (данных по месяцам) по всем четырем рабочим листам книги. Эта формула должна быть введена в ячейку, представляющую расходы первого филиала за 1999 год (B2), с клавиатуры или с помощью мыши. Введенную формулу затем можно скопировать в ячейки диапазона B3:B5. Аналогично вычисляются итоговые данные за 2000 г (рис. 18).
Вместо «ручного» ввода формулы в некоторых случаях можно выполнить консолидацию с помощью соответствующей команды меню Данные. Для этого в общем случае нужно:
– В целевой книге указать диапазон назначения, где консолидируются данные.
– Выполнить команду Консолидация в меню Данные.
– Последовательно указать исходные диапазоны данных, которые должны быть консолидированы (в строке ввода (в поле «Ссылка») диалогового окна консолидации формируется ссылка, которая добавляется в список диапазонов с помощью кнопки Добавить; можно задать до 255 диапазонов; «лишние» диапазоны можно удалить).
– Указать способ консолидации: по расположению в диапазоне или согласно заголовкам строк и столбцов. При консолидации по расположению нужно снять флажки «Подписи верхней строки» и «Значения левого столбца». Они устанавливаются, если соответствие при консолидации устанавливается по заголовкам.
– Задать режим формирования значений в диапазоне назначения: фиксированные значения, которые не будут изменяться в дальнейшем, или связанные величины, обновляющиеся при изменениях в исходных данных.
– Выбрать тип консолидации (функцию, которая должна выполняться над данными при их консолидации).
Заполнение целевого диапазона при выполнении консолидации будет происходить в зависимости от того, что было выделено в качестве диапазона назначения:
– Ячейка – заполняются все ячейки, необходимые для всех консолидируемых категорий исходных данных
– Диапазон ячеек – консолидируется ровно столько категорий, сколько поместится в выделенном диапазоне.
– Строка ячеек – заполняются ячейки вниз от выделения по всей ширине выделенной области.
– Столбец ячеек – заполняются ячейки вправо от выделения по всей высоте выделенного диапазона.
Консолидация по расположению ячеек используется, если данные одного типа на всех листах расположены в одних и тех же позициях относительно исходных диапазонов, т.е. исходные диапазоны должны иметь абсолютно одинаковую структуру! Данные в диапазоне назначения будут расположены так же, как и в исходных диапазонах (т.е., например, будут суммироваться значения, расположенные в одних и тех же ячейках перечисленных исходных таблиц, а результаты будут помещаться в таблицу с той же структурой на те же места, где находятся слагаемые).
При консолидации по физическому расположению заголовки в диапазон назначения и исходные диапазоны для консолидации не включаются, так как Excel воспримет их как данные.
Примером консолидации такого типа может служить получение итоговых данных за год по всем филиалам путем суммирования итоговых данных за каждый квартал.
В качестве диапазона назначения на рабочем листе «Итог за год» нужно выделить диапазон B2:B5, а исходными диапазонами для консолидации должны стать диапазоны E2:E5 на рабочих листах, содержащих квартальные отчеты (в этих диапазонах находятся суммарные расходы каждого филиала за соответствующий квартал). Заголовки строк и столбцов нельзя включать в выделяемые диапазоны. Связи с исходными данными в данном случае также не установлены (рис. 19).
Ту же операцию можно было бы выполнить, используя копирование диапазона и специальную вставку (повторяя ее многократно, по очереди, для каждого диапазона).
Если при консолидации данных исходные диапазоны могут иметь различную структуру (в данных используются дополнительные поля, различные для консолидируемых таблиц или необходимо выборочно консолидировать лишь часть данных из исходных диапазонов и т.п.), то консолидацию по расположению использовать нельзя. В этом случае применим метод консолидации по заголовкам строк и столбцов.
Существует два способа такой консолидации.
Первый состоит в том, что в диапазон назначения попадают все данные, которые были выделены в исходных диапазонах. Причем, соответствующие друг другу данные из различных таблиц должны иметь в точности одинаковые заголовки строк и столбцов (с точностью до символа). В этом случае при выделении диапазона назначения достаточно установить рамку выделения в его левый верхний угол, а исходные диапазоны выделяются вместе с заголовками строк и столбцов, по которым распознается соответствие консолидируемых данных. В диалоговом окне консолидации следует установить флажки, определяющие, какие заголовки должны учитываться. Excel, выполняя команду, распознает указанные заголовки в исходных диапазонах и включит их в диапазон назначения, а на пересечении строк и столбцов разместит консолидированные данные, полученные из соответствующих заголовкам строк и столбцов исходных диапазонов. Если в каком-то исходном диапазоне нет строк или столбцов с имеющимися в других исходных диапазонах заголовками, данные из этого листа просто не будут использоваться при вычислении.
Второй способ позволяет консолидировать данные выборочно. Для этого нужно подготовить таблицу, которая будет использоваться в качестве диапазона назначения, создать «шаблон», по которому будет выполняться консолидация. Для этой таблицы необходимо задать заголовки только тех строк и столбцов, данные из которых подлежат консолидации. При использовании этого метода при выделении диапазона назначения необходимо включить в этот диапазон заголовки строк и столбцов, причем они должны быть написаны в точности, как на исходных листах. Исходные диапазоны при выделении тоже должны включать соответствующие заголовки.
Рассмотрим консолидацию по заголовкам строк и столбцов на следующем примере: необходимо получить итоговые данные по расходам за год только для двух филиалов – Северного и Восточного. Таким образом, в диапазон назначения нужно включить только столбцы, содержащие названия филиалов и суммарные расходы и строки, соответствующие только двум названным филиалам. Чтобы выполнить консолидацию, необходимо подготовить диапазон назначения (лист «Выборочные итоги»), включив в таблицу заголовки столбцов «Филиал» (столбец A) и «Всего» (столбец B) и заголовки строк «Северный» (строка 2) и «Восточный» (строка 3), а также строку «Итого:». В качестве диапазона назначения выделяется диапазон A1:B3. В качестве исходных диапазонов выделяются диапазоны A1:E5 на рабочих листах, содержащих отчеты по кварталам. При консолидации устанавливаются флажки, указывающие Excel, что первая строка и столбец представляют собой заголовки консолидируемых данных. Результат консолидации показан на рис. 20.
При выполнении команды был установлен флажок «Создавать связи с исходными данными». Установка этого флажка необходима, если исходные данными, использованные при консолидации могут изменяться. Кроме того, в результате такого способа консолидации информация на рабочем листе автоматически структурируется: с помощью появившихся справа на рабочем листе кнопок или команд меню Данные можно раскрыть детальные данные, позволяющие проследить, какая информация была консолидирована и какие рабочие книги послужили ее источником.
Консолидацию можно выполнить программно в приложении разработанном на основе Excel. Для описанного выше примера процедура консолидации будет выглядеть следующим образом: