Если вы ещё не знакомы со сводными таблицами, то начните с этой статьи.
Проблема
Бывает так, что анализируемые данные попадают к нам в виде отдельных таблиц, которые, тем не менее, нужно связать. Это легко может сделать MS Access, а в Excel для этого приходилось всегда использовать формулы типа ВПР (VLOOKUP). Однако, начиная с Excel 2013, у нас появилась возможность при построении сводной таблицы в качестве источника использовать несколько таблиц, связанных между собой по ключевым полям.
Пример
В нашем примере мы располагаем 4-мя таблицами: Заказы, Строки заказов, Товары, Клиенты.
Таблица заказов:
Таблица Строк заказов:
Таблица Товаров
Таблица Клиентов
Исходные таблицы оформлены в виде умных таблиц: Orders, OrderLines, Goods и Clients.
Вполне очевидно, что таблицы Orders и OrderLines могут быть связаны по полю ID_Заказа, таблицы Orders и Clients — по полю ID_клиента, таблицы OrderLines и Goods — по полю ID_товара.
Скачать пример
Создание модели данных
Создадим сводную таблицу на основе любой из имеющихся таблиц.
-
Выбираем в меню Вставка пункт Сводная таблица. В указанном диалоговом окне мы видим опцию Добавить эти данные в модель данных. Мы могли бы её выбрать, но я рекомендую другой, более удобный способ. Просто нажмите OK.
-
В появившейся панеле Поля сводной таблицы вы видите надпись ДРУГИЕ ТАБЛИЦЫ…
-
Нажмём её. Появится такой вопрос:
-
Отвечаем Да и видим, что в список полей добавились все наши таблицы:
-
Если вы начнёте выбирать поля, то через некоторое время в списке полей появится кнопка СОЗДАТЬ…
-
Нажмём её и создадим связи между нашими таблицами. Так создаётся связь между таблицей Orders и OrderLines. Обратите внимание, что Excel умеет создавать связь типа «один к одному» или «один ко многим«. Причём первой надо указывать таблицу, где «много», в противном случае Excel ругается и предлагает поменять их местами.
-
Аналогично создаём другие связи.
-
В диалоговое окно Управление связями можно попасть через ленту АНАЛИЗ команда Отношения
-
Чтобы видеть больше полей на панеле Поля сводной таблицы, можно через кнопку Сервис (в виде шестерёнки) выбрать это представление:
-
Результат будет таким:
-
В результате все наши таблицы теперь связаны и вы можете сформировать, к примеру, такой отчёт:
Просто и удобно!
Читайте также:
-
Введение в сводные таблицы
-
Автоматизация форматирования сводных таблиц
Skip to content
В этом руководстве вы найдете некоторые приемы объединения таблиц Excel путем сопоставления данных в одном или нескольких столбцах.
Как часто при анализе в Excel вся необходимая информация собирается на одном листе? Сейчас это довольно редкое явление. Чаще всего разные фрагменты данных рассредоточены по множеству листов и книг. К счастью, есть несколько способов объединить информацию из нескольких таблиц в одну, и это руководство научит вас делать это быстро и эффективно.
Объединение нескольких таблиц — одна из самых сложных задач в Excel. Если вы решите сделать это вручную, вы можете потратить часы только на то, чтобы обнаружить, что испортили важную информацию. Если вы опытный специалист в области Excel, то можете положиться на формулы ВПР и ИНДЕКС ПОИСКПОЗ. Вы также можете использовать Power Query или дополнительные надстройки к Excel. Выбор остается за вами.
- Суммирование данных
- Использование ВПР
- Применение ИНДЕКС + ПОИСКПОЗ
- Формула объединения для нескольких ключевых столбцов
- Объединение таблиц при помощи Power Query
- Быстрый способ объединить таблицы путем сопоставления ключевых столбцов.
Как объединить две таблицы в Excel с помощью формул.
Если вам нужно выполнить какую-то задачу в Excel, то где вы в первую очередь ищете решение? Как и многие пользователи, я обычно открываю список функций. Слияние таблиц не исключение
Суммирование.
Начнем с самого простого примера, когда нужно объединить данные нескольких таблиц путем их суммирования. Предположим, у нас есть сведения о продажах за 4 квартала. Нужно найти их итоговую сумму.
Сразу оговоримся, что этот метод подходит в основном для форм отчетности, когда таблицы имеют одинаковую структуру, и цифры в них расположены в совершенно одинаковом порядке.
Поэтому сложение значений соответствующих ячеек на каждом листе здесь подходит отлично.
Для создания отчета о годовых продажах можно использовать самую простую формулу сложения.
=’1кв’!C3+’2кв’!C3+’3кв’!C3+’4кв’!C3
Более технологичным вариантом является так называемая 3D сумма —
=СУММ(‘1кв:4кв’!C3)
Мы указываем первый и последний лист, а также координаты ячейки. Все промежуточные координаты Эксель находит сам. Если между первым и последним листом добавить еще несколько листов с аналогичными показателями, то они также будут просуммированы.
Конечно, это не в полном смысле объединение таблиц, так как набор показателей не меняется, новые строки и колонки не добавляются. Но при этом объединяются имеющиеся данные. Далее рассмотрим более сложные случаи — когда нужно объединить неодинаковые таблицы.
Используем ВПР.
Если вы хотите объединить две таблицы на основе одного столбца , то функция ВПР – то, что нужно.
Предположим, у вас есть две таблицы на двух разных листах: основная содержит коды заказов и покупателей (то есть, кому вы продаёте), а во второй записаны заказы и товары (то есть, что вы продаёте). Вы хотите объединить их, сопоставив данные в колонке Код заказа:
То есть, в случае совпадения заказов информация о товаре будет добавлена в первую таблицу в соответствующую строку.
Как видите, порядок следования заказов в основной таблице не соответствует второй. Поэтому простой метод копирования / вставки не сработает.
Чтобы нам было проще ориентироваться, используем именованные диапазоны. Первый назовём «Заказ», второй – «Товар».
Чтобы объединить две таблицы по соответствующему показателю (Код заказа), в начале добавляем дополнительные колонки E, F и G, которые будем заполнять нужной информацией.
Начнём с товара. Введите эту формулу в ячейку Е2, как показано на скриншоте ниже:
=ВПР(A2;товар;2;0)
или с обычными ссылками —
=ВПР(A2;Товар!$A$2:$D$200;2;0)
Далее в G2 запишем —
=ВПР(B2;товар;3;0)
В H2 аналогично —
=ВПР(B2;товар;4;0)
Копируем эти формулы вниз и получаем результат объединения:
Объединенная таблица состоит из основной и добавленных данных, извлеченных из массива поиска.
Имейте в виду, что ВПР в Excel имеет несколько ограничений, наиболее важными из которых являются:
1) невозможность извлечения данных, находящихся слева от столбца поиска,
2) жестко заданный номер столбца сломает формулу при добавлении или удалении колонок во второй таблице. С другой стороны, в случае подобных изменений вы можете легко изменить порядок возвращаемых колонок, просто изменив число в третьем аргументе функции.
Рассмотрим более сложный случай, когда сведения были получены нами из разных источников, и ключевой показатель (код заказа) у них не полностью совпадает. К примеру, к нему добавлены какие-то символы.
В случае использования функции ВПР, у нас нет другого выхода кроме создания вспомогательного столбца. В нём мы постараемся привести наш код заказа к стандартному виду с помощью различных функций работы с текстом.
Итак, вставим в нашу таблицу заказов вспомогательный столбец B. Для этого кликнем правой кнопкой мыши по заголовку колонки B и в появившемся контекстном меню выберем «Вставить». Получим пустую колонку, а все остальные сдвинутся вправо.
Здесь мы и «очистим» наши номера заказов от лишнего мусора. В нашем случае вполне подойдёт формула:
=ЛЕВСИМВ(A2;4)
A2 — это адрес ячейки, из которой мы извлекаем первые 4 символа.
Если, например, мы имеем “Б-1007”, то используйте формулу
=ПРАВСИМВ(A2;4)
Но ведь наши идентификаторы могут выглядеть и по-другому.
Скажем, нужно пропустить первые Х символов, извлечь следующие Y символов: например, нужно извлечь “0123” из записи “СББЛ-1007-ШКЛ”. Здесь нам нужно пропустить первые пять символов и извлечь следующие четыре. Формула будет выглядеть так:
=ПСТР(A2;5;4)
Если нужно извлечь все знаки до разделителя, причем количество их может быть разным (“1007-СРР 256” или “10071007-Б111НРР”), то действуем так —
=ЛЕВСИМВ(A2;НАЙТИ(«-«;A2)-1)
Получаем соответственно 1007 и 10071007.
Если нужно получить последнее слово после разделителя “Б-С-100777”, причем когда количество символов в нем может быть разным —
=ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(«*»;ПОДСТАВИТЬ(A2;»-«;»*»;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;»-«;»»)))))
Получим 100777.
Словом, текстовые функции помогут нам заполнить вспомогательный столбец.
А затем мы применяем те же формулы, что и ранее, только меняем ссылку на ячейку поиска:
=ВПР(B2;товар;2;0)
или
=ВПР(B2;Товар!$A$2:$D$200;2;0)
Как видите, при помощи дополнительной колонки мы решили проблему несовпадения ключевых кодов и успешно объединили данные.
Комбинация ИНДЕКС + ПОИСКПОЗ.
Если вы ищете более мощную и универсальную альтернативу функции ВПР, воспользуйтесь комбинацией функций ИНДЕКС и ПОИСКПОЗ.
ИНДЕКС( диапазон_возврата ; ПОИСКПОЗ ( значение_подстановки ; диапазон_просмотра ; 0))
Если вернуться к предыдущему примеру с функцией ВПР, то формулу
ВПР(A2;Товар!$A$2:$D$200;2;0) в ячейке Е2 можно заменить на
=ИНДЕКС(‘Товар’!$B$2:$B$200;ПОИСКПОЗ(A2;’Товар’!$A$2:$A$200;0))
Казалось бы, ничего особенного, только сложнее стало. Однако, здесь открывается гораздо больше возможностей. Если будет необходимо, мы сможем провести поиск в колонке B и вернуть соответствующее значение из А. То есть, порядок расположения столбцов в этом случае не важен. ВПР нам не позволить сделать такое.
Вот, например, если во второй таблице показатели будут расположены как на скриншоте внизу, то функция ВПР нам здесь не поможет.
Выражение в ячейке C2 выглядит так:
=ИНДЕКС(‘Товар’!$A$2:$A$20;ПОИСКПОЗ(A2;’Товар’!$B$2:$B$20;0))
Это так называемый «левый ВПР», который не зависит от взаимного расположения столбцов.
Обратите внимание на знак $, который фиксирует диапазоны, чтобы предотвратить их изменение при копировании формулы.
В случае нечёткого совпадения кодов заказов, который мы рассматривали выше, комбинация ИНДЕКС + ПОИСКПОЗ позволяет обойтись без вспомогательной колонки.
Нам поможет формула массива
{=ИНДЕКС(Товар!$B$2:$B$200;ПОИСКПОЗ(1;ПОИСК(ЛЕВСИМВ(A2;4);Товар!$A$2:$A$200;1);0))}
Как видите, мы берём первые 4 символа из номера заказа и ищем совпадения в товарах.
Естественно, вместо ЛЕВСИМВ мы можем использовать другие варианты текстовых функций. Мы о них подробно говорили выше, когда рассматривали возможное содержание вспомогательного столбца. При помощи формулы массива мы как бы вставляем его целиком прямо в формулу поиска.
Как объединить на основе нескольких столбцов.
Если две таблицы, которые вы хотите объединить, не имеют уникального идентификатора, такого как номер заказа, вы можете сопоставить значения в двух или более колонках как в ключевых, используя эту формулу:
ИНДЕКС( таблица_поиска ; ПОИСКПОЗ(1; ( искомое_значение1 = диапазон_поиска1 ) * ( искомое_значение2 = диапазон_поиска2 ); 0); номер_возвращаемого_столбца )
Это формула массива, поэтому не забудьте нажать Ctrl + Shift + Enter
для правильного её ввода.
Предположим, у вас есть две таблицы, которые нужно объединить в одну. Поскольку показатель «Заказ» в массиве поиска отсутствует, единственный способ сопоставить их — по Покупателю и Товару:
Основываясь на приведенном выше скриншоте, давайте определим аргументы для нашей формулы:
- диапазон поиска — $F$3:$H$10
- искомое_значение1 — $B3
- диапазон_поиска1 — $F$3:$F$10
- искомое_значение2 — $C3
- диапазон_поиска2 — $G$3:$G$10
- номер_возвращаемого_столбца — 3
Обязательно добавьте абсолютные ссылки на ячейки, чтобы они не изменились при копировании формулы вниз:
=ИНДЕКС($F$3:$H$10; ПОИСКПОЗ(1; ($B3=$F$3:$F$10) * ($C3=$G$3:$G$10); 0); 3)
Введите формулу в D3, нажмите Ctrl + Shift + Enter
. Cкопируйте её вниз и проверьте результат:
Таким образом, мы объединили значения в таблицах, если имеется совпадение сразу в двух колонках. Думаю, вы понимаете логику этой формулы и сможете при необходимости добавить условие совпадения еще в одном столбце.
Объединяем с помощью Excel Power Query
В ситуациях, когда вам нужно объединить две или более таблиц с разным количеством строк и колнок, Excel Power Query может пригодиться. Однако имейте в виду, что объединение с помощью Power Query нельзя выполнить всего за пару щелчков мышью. Вот только самые основные особенности:
- Power Query может объединить две таблицы, сопоставив один или несколько столбцов.
- Исходные сведения могут находиться на одном листе или на разных листах.
- Исходные данные не будут изменены. Они копируются в новую таблицу, которую можно импортировать в существующий или новый рабочий лист.
- В Excel 2016 и Excel 2019 Power Query — это встроенная функция. В Excel 2010 и Excel 2013 его можно загрузить как надстройку.
Проще говоря, Power Query (также известный как Get & Transform в Excel 2016 и Excel 2019) — это инструмент для объединения, очистки и преобразования данных из нескольких источников в нужный вам формат —обычную таблицу, сводную таблицу или сводную диаграмму.
Чтобы результаты соответствовали вашим ожиданиям, имейте в виду следующее:
- Объединяемые таблицы должны иметь по крайней мере, один общий столбец (также называемый как общий идентификатор или ключевой). Кроме того, эти общие столбцы должны содержать только уникальные значения без повторов.
- В отличие от формул, Power Query не переносит данные из одной таблицы в другую. Он создает совершенно новую таблицу, которая объединяет информацию из исходных таблиц.
- Результирующая таблица не обновляется автоматически. Вы должны явно указать Excel сделать это.
Источник данных
В качестве примера давайте объединим 3 таблицы на основе общих показателей «Код заказа» и «Код покупателя». Обратите внимание, что в каждой из них разное количество строк, первая и вторая имеют дубликаты покупателей и товаров, третья содержит только уникальные записи.
Наша задача — сопоставить данные в таблице 1 с соответствующими записями из двух других и объединить все это примерно следующим образом:
Прежде чем вы начнете присоединять, я бы посоветовал вам дать вашим диапазонам несколько описательных имен, чтобы вам было легче узнавать их и управлять ими позже. Кроме того, хотя мы говорим «таблицы», вам не нужно преобразовывать ваши данные в таблицу Excel. Ваши источники могут быть обычными диапазонами или именованными диапазонами, как в этом примере:
- первый называется Заказ,
- второй — Товар,
- третий — Скидка.
Создание подключений Power Query
Чтобы не загромождать вашу книгу копиями исходных данных, мы собираемся преобразовать их в соединения, выполнить слияние в редакторе Power Query, а затем загрузить только итоговый результат.
Чтобы создать соединение в Power Query, выполните следующие действия:
- Выберите свою первый диапазон (Заказ) или любую ячейку в нем.
- Перейдите на вкладку «Данные» и нажмите «Из таблицы / диапазона».
- В открывшемся редакторе Power Query щелкните стрелку раскрывающегося списка «Закрыть и загрузить» (а не саму кнопку!) и выберите параметр «Закрыть и загрузить в…» .
- В диалоговом окне «Импорт данных» выберите параметр «Только создать подключение» и нажмите « ОК» .
Это создаст соединение с именем вашего диапазона и отобразит его на панели запросов и подключений, которая появится в правой части вашей книги.
- Повторите вышеуказанные шаги для всех остальных таблиц, которые вы хотите объединить.
Когда закончите, вы увидите все подключения на правой панели:
Как объединить два соединения в одну таблицу.
Теперь давайте посмотрим, как вы можете объединить две таблицы в одну при помощи созданных подключений:
- На вкладке «Данные» нажмите кнопку «Получить данные», выберите «Объединить запросы» в раскрывающемся списке и нажмите «Объединить»:
- В диалоговом окне «Слияние» сделайте следующее:
- Выберите свой первый диапазон (Заказ) из первого раскрывающегося списка.
- Выберите второй (Товар) из второго раскрывающегося списка.
- В обоих предварительных просмотрах щелкните соответствующий столбец (код заказа), чтобы выбрать его. Он будет выделен зеленым.
- В раскрывающемся списке «Тип присоединения» оставьте значение по умолчанию: «Левый внешний» (все с первого, соответствие со второго).
- Щелкните ОК.
После выполнения вышеуказанных шагов редактор Power Query покажет вашу первую таблицу (Заказ) с одним дополнительным столбцом. Он будет назван как ваша вторая таблица (Товар) и добавлен в конец. В нём пока нет значений, только слово «Таблица» во всех ячейках. Но не расстраивайтесь, вы все сделали правильно, и мы скоро это исправим!
Выберите столбцы для добавления из второй таблицы
На текущий момент у вас есть результат, изображенный на скриншоте ниже. Чтобы завершить процесс слияния, выполните следующие действия в редакторе Power Query Editor:
- В последнем столбце (Товар) нажмите на двустороннюю стрелку в заголовке.
- В открывшемся окне сделайте следующее:
- Не снимайте флажок «Развернуть».
- Отмените весь выбор, а затем укажите только те, которые вы хотите скопировать. В этом примере мы выбираем только колонки Товар и Количество, потому что в исходной информации уже есть код заказа.
- Снимите флажок Использовать исходное имя столбца как префикс (если вы не хотите, чтобы имя столбца было с префиксом с именем таблицы, из которой он был взят).
- Щелкните ОК.
В результате вы получите новую таблицу, содержащую все записи из вашей первой и дополнительные колонки из второй:
Если вам нужно объединить только две таблицы, вы можете считать работу почти выполненной и загрузить полученный результат в Excel. Но нам нужно добавить еще информацию.
Как объединить больше таблиц.
Если вам нужно присоединиться к трем или более столам, вам предстоит еще кое-что подработать. Я кратко опишу шаги здесь, потому что вы уже выполняли все это при объединении первых двух диапазонов:
- Сохраните результат, полученный на предыдущем шаге (показанную на скриншоте выше), как соединение:
- В редакторе запросов питания, нажмите кнопку Закрыть и загрузить на стрелку раскрывающегося списка и выберите Закрыть и загрузить … .
- В диалоговом окне «Импорт данных» выберите «Только создать подключение» и нажмите « ОК» .
Это добавит еще одно соединение с именем Слияние1 на панель запросов и подключений. Вы можете переименовать это соединение, если хотите. Щелкните по нему правой кнопкой мыши и выберите «Переименовать» во всплывающем меню.
- Объедините Слияние1 с вашей третьей таблицей (Скидка), выполнив уже знакомые нам действия (вкладка Данные —Получить данные — Объединить запросы).
На скриншоте ниже показаны мои настройки:
- При нажатии кнопки ОК в диалоговом окне «Слияние» открывается редактор Power Query. В нем вы выбираете все нужное для добавления из третьей таблицы.
В этом примере нам нужен только показатель Скидка:
В результате вы получите новую объединенную таблицу, состоящую из первоначальной и дополнительных столбцов, скопированных из двух других.
Как импортировать объединенную таблицу в Excel.
С полученными результатами в редакторе Power Query вам остается сделать только одно — загрузить их в свою книгу Excel. И это самая легкая часть!
- В редакторе запросов нажмите Закрыть и загрузить.
- В диалоговом окне «Импорт данных» выберите параметры «Таблица» и «Новый лист».
- Щелкните ОК.
Новая таблица, объединяющая информацию из двух или более источников, появится на новом листе. Поздравляю, у вас получилось!
В качестве последнего штриха вы можете применить процентный формат к скидкам и, возможно, изменить стиль оформления по умолчанию на ваш любимый. После этих улучшений моя комбинированная таблица выглядит очень красиво:
Примечание. Если вы работаете с числовыми показателями (например, о динамике продаж), и вы хотите дальше их анализировать, вы можете загрузить полученный свод в качестве отчета сводной таблицы (это второй пункт в окне импорта).
Как сделать объединение на основе нескольких столбцов.
В предыдущем примере мы объединяли таблицы, сопоставляя один ключевой столбец в каждой из них. Но нет ничего, что могло бы помешать вам выбрать две или более пары колонок. Вот как это сделаем:
В диалоговом окне » Слияние» удерживайте клавишу Ctrl и щелкайте по ключевым столбцам один за другим, чтобы выбрать их. Важно, чтобы вы нажимали их в одном и том же порядке в обоих предварительных просмотрах, чтобы аналогичные столбцы имели одинаковые номера. Например, менеджер — это ключевой столбец №1, а товар — ключевой №2. Пустые ячейки или строки, которые Power Query не может сопоставить, показывают null :
После этого выполните точно такие же действия, как описано выше, и ваши таблицы будут объединены путем сопоставления значений по менеджерам и товарам.
Как обновить объединенную таблицу
Лучшее в Power Query — это то, что настраивать объединенную таблицу нужно только один раз. Когда вы вносите некоторые изменения в исходные файлы, вам не нужно снова повторять весь процесс. Просто нажмите кнопку «Обновить» на панели «Запросы и подключения», и объединенная таблица сразу же обновится:
Если панель исчезла из Excel, нажмите кнопку «Запросы и подключения», чтобы вернуть ее.
Кроме того, вы можете нажать кнопку «Обновить все» на вкладке «Данные» или кнопку «Обновить» в запросе (эта вкладка активируется после выбора любой ячейки в объединенной таблице).
А теперь рассмотрим применение специальной программы.
Быстрый способ объединить таблицы путем сопоставления ключевых столбцов.
Если вы еще не очень хорошо знакомы с формулами Excel и у вас нет времени разбираться в загадочных особенностях Power Query, мастер объединения таблиц Merge Two Tables может существенно сэкономить вам время и нервы. Ниже я покажу три наиболее популярных варианта использования его для объединения таблиц.
Пример 1. Объедините две таблицы по нескольким столбцам.
Если вы считаете, что формулу массива для столбцов трудно запомнить и применять, положитесь на специальную надстройку, которая сделает эту работу быстро и безупречно.
В этом примере мы будем использовать уже знакомые по предыдущим разделам этой статьи таблицы и объединять их на основе 2 столбцов: «Код покупателя» и « Товар».
Итак, у нас есть в основной таблице список заказов для нескольких покупателей. И есть таблица скидок для этих покупателей на некоторые из товаров. Нужно перенести в основную таблицу процент скидки. Обратите внимание, что основная таблица имеет строк больше, чем таблица поиска:
С помощью мастера объединения таблиц, вам нужно сделать следующее:
- Выберите любую ячейку в основной таблице и нажмите кнопку «Объединить две таблицы (Merge Two Tables)» на вкладке «Ablebits Data»:
- Убедитесь, что программа правильно выбрала диапазон ячеек, и нажмите Далее (Next).
- Выберите таблицу поиска и нажмите Далее:
- Укажите пары столбцов, которые нужно сопоставить в обеих таблицах, в нашем случае Продавец и Товар, и нажмите Далее:
Примечание. Если регистр текста в ключевых столбцах имеет значение, установите флажок Учитывать регистр, чтобы прописные и строчные буквы обрабатывались как разные символы.
- При желании выберите столбцы, которые нужно обновить значениями из таблицы поиска. Поскольку у нас нечего обновлять, мы оставляем все их как есть и просто нажимаем «Далее».
- Выберите столбцы, которые нужно добавить в основную таблицу, и нажмите « Далее». Добавляем скидку, как и планировали.
- На этом этапе вы указываете мастеру, как именно вы хотите объединить таблицы. Все опции имеют описательные надписи, поэтому я не буду вдаваться в подробные объяснения. Если вы не уверены в каком-либо варианте, щелкните знак вопроса рядом с ним, и небольшая диаграмма покажет вам, как таблицы будут объединены.
В нашем случае параметры по умолчанию работают нормально, поэтому мы нажимаем Finish, ничего не меняя:
Дайте мастеру несколько секунд на обработку и просмотрите результат:
Как видно на скриншоте выше, мастер сделал следующее:
- Добавлен столбец «Скидка» путем сопоставления имени продавца и наименования товара в обеих таблицах.
- В столбце имеются пустые ячейки, поскольку не для всех товаров этим продавцам были предоставлены скидки.
Пример 2. Объединение таблиц и обновление выбранных столбцов.
Если ваша основная таблица содержит устаревшие данные, вы можете обновить ее соответствующими значениями из таблицы поиска.
Продолжим рассматривать данные предыдущего примера. Предположим, некоторым из покупателей был изменен размер скидки, а также были добавлены дополнительные позиции в таблицу скидок. В связи с этим наша основная таблица устарела и нуждается в обновлении. Давайте снова объединим 2 таблицы по покупателю и наименованию товара и обновим значения в столбце Скидка.
Чтобы получить нужный результат, вам нужно сделать следующее:
Шаг 1. Выберите основную таблицу.
Шаг 2. Выберите таблицу поиска.
Шаг 3. Выберите «Код покупателя» и «Товар» как ключевые столбцы.
Шаг 4. Выберите столбец «Скидка» для обновления. То есть, в этот столбец основной таблицы будут перенесены обновленные значения из соответствующего столбца из таблицы поиска. Параметры этого добавления вы укажете чуть позже.
Шаг 5. Пропустите, потому что у нас нет столбцов для добавления. Нам нужно просто обновить информацию.
Шаг 6. Поскольку в столбце «Скидка» есть несколько пустот, мы выбираем обновление только в том случае, если ячейки в таблице поиска содержат данные. Таким образом мы обновим устаревшие значения, но не потеряем никакие данные, которые по какой-то причине исчезли из таблицы поиска. При желании вы можете выделить обновленные ячейки любым цветом по вашему выбору. На скриншоте ниже показаны настройки:
Совет. Чтобы предотвратить перезапись существующих данных, вы можете обновлять только пустые ячейки в основной таблице.
И вот результат:
Как видите, две скидки были добавлены и две — обновлены, так как изменились их величины.
Конечно, можно это сделать и при помощи формул, как это описано в начале этой статьи, но затраты времени будут на порядок больше.
Пример 3. Объединение по нескольким совпадающим значениям из двух таблиц.
В ситуациях, когда таблица поиска содержит несколько вхождений ключевого значения, вы можете захотеть перетащить их все в свою основную таблицу. Эту задачу можно выполнить с помощью одной из нестандартных формул массива. Или вы можете сделать это простым способом с помощью мастера объединения таблиц.
Предположим, ваша основная таблица содержит только по одному заказу от каждого покупателя, а таблица поиска содержит дополнительные заказы по множеству покупателей. Теперь вы хотите добавить в основную таблицу все заказы по уже имеющимся в ней покупателям и сгруппировать их по коду продавца. К примеру, найти во второй таблице все заказы покупателя с кодом «Красный» и поместить их в первую сразу после уже имеющейся записи по этому покупателю (то есть, начиная с 3-й строки).
Похоже, предстоит много работы? Нет, если в вашем распоряжении есть Мастер слияния таблиц Merge Two Tables
А теперь рассмотрим все действия по объединению таблиц пошагово.
Шаг 1. Выберите основную таблицу.
Шаг 2. Выберите таблицу поиска.
Здесь вы видите архив записей по продажам. Из него нам нужно извлечь в основную таблицу только записи по имеющимся в ней 4 покупателям.
Шаг 3. Выберите Код покупателя в соответствующем столбце.
Эта операция нам уже знакома – выбираем ключевой столбец, в котором будем искать совпадения в обеих таблицах.
Шаг 4. Выбираем столбцы, информацию в которых нужно обновить.
Нам нужны все столбцы, поэтому можно просто нажать на чекбокс в шапке таблицы, чтобы выбрать все сразу.
Шаг 5. Нет столбцов для добавления. Пропускаем.
Шаг 6. Вставляем дополнительные совпадающие строки после строки с тем же значением ключа. При желании установите цвет фона для добавленных строк, чтобы сразу просмотреть изменения:
Чтобы не потерять уже имеющиеся в основной таблице значения, активируем опцию «Обновлять в основной таблице только пустые ячейки».
И вот результат:
Как видите, 4 строки остались, и к каждой из них добавлены снизу данные по этому покупателю, извлечённые из таблицы поиска.
В приведенных выше примерах показаны только 3 из множества возможных способов объединения таблиц в Excel. Вы можете загрузить 14-дневную пробную версию и попробовать объединение таблиц на своих данных.
Если будут вопросы или замечания, не стесняйтесь использовать комментарии.
Мы познакомили вас с основными способами соединения двух и более таблиц. Думаю, вы сможете выбрать наиболее подходящий для вас исходя из имеющейся информации и решаемых задач.
Сводная таблица по нескольким диапазонам данных
Постановка задачи
Сводные таблицы — один из самых замечательных инструментов в Excel. Но до сих пор, к сожалению, ни одна из версий Excel не умеет «на лету» делать такой простой и нужной вещи как построение сводной по нескольким исходным диапазонам данных, находящимся, например, на разных листах или в разных таблицах:
Прежде, чем начать давайте уточним пару моментов. Априори я полагаю, что в наших данных выполняются следующие условия:
- Таблицы могут иметь любое количество строк с любыми данными, но обязательно — одинаковую шапку.
- На листах с исходными таблицами не должно быть лишних данных. Один лист — одна таблица. Для контроля советую использовать сочетание клавиш Ctrl+End, которое перемещает вас на последнюю использованную ячейку листа. В идеале — это должна быть последняя ячейка таблицы с данными. Если при нажатии на Ctrl+End выделяется какая-либо пустая ячейка правее или ниже таблицы — удалите после таблицы эти пустые столбцы справа или строки снизу и сохраните файл.
Способ 1. Сборка таблиц для сводной с помощью Power Query
Начиная с 2010 версии для Excel существует бесплатная надстройка Power Query, которая умеет собирать и трансформировать любые данные и отдавать их потом как источник для построения сводной таблицы. Решить нашу задачу с помощью этой надстройки совсем несложно.
Сначала создадим новый пустой файл в Excel — в него будет происходить сборка и в нем же потом будет создаваться сводная таблица.
Затем на вкладке Данные (если у вас Excel 2016 или новее) или на вкладке Power Query (если у вас Excel 2010-2013) выберем команду Создать запрос — Из файла — Excel (Get Data — From file — Excel) и укажем исходный файл с таблицами, которые надо собрать:
В появившемся окне выберем любой лист (не принципиально какой именно) и внизу жмем кнопку Изменить (Edit):
Поверх Excel должно открыться окно редактора запросов Power Query. В правой части окна на панели Параметры запроса удалим все автоматически созданные шаги кроме первого — Источник (Source):
Теперь мы видим общий список всех листов. Если в файле кроме листов с данными есть еще какие-то побочные листы, то на этом шаге наша задача — отобрать только те листы, с которых нужно загрузить информацию, исключив все остальные с помощью фильтра в шапке таблицы:
Удалим все столбцы, кроме колонки Data, щелкнув по заголовку столбца правой кнопкой мыши и выбрав команду Удалить другие столбцы (Remove other columns):
Затем можно развернуть содержимое собранных таблиц, щелкнув по двойной стрелке в верхней части столбца (флажок Использовать исходное имя столбца как префикс можно при этом отключить):
Если вы всё сделали правильно, то на этом моменте должны увидеть содержимое всех таблиц, собранных друг под другом:
Осталось поднять первую строку в шапку таблицы кнопкой Использовать первую строку в качестве заголовков (Use first row as headers) на вкладке Главная (Home)
и удалить попавшие в данные повторяющиеся шапки таблиц с помощью фильтра:
Сохраним всё проделанное с помощью команды Закрыть и загрузить — Закрыть и загрузить в… (Close & Load — Close & Load to…) на вкладке Главная (Home), а в открывшемся окне выберем опцию Только подключение (Connection Only):
Всё. Осталось только построить сводную. Для этого идём на вкладку Вставка — Сводная таблица (Insert — Pivot Table), выбирыем опцию Использовать внешний источник данных (Use external data source), а затем, нажав кнопку Выбрать подключение, наш запрос. Дальнейшее создание и настройка сводной происходит совершенно стандартным образом путем перетаскивания нужных нам полей в области строк, столбцов и значений:
Если в будущем изменятся исходные данные или добавится еще несколько листов-магазинов, то достаточно будет обновить запрос и нашу сводную с помощью команды Обновить все на вкладке Данные (Data — Refresh All).
Способ 2. Объединяем таблицы SQL-командой UNION в макросе
Еще одно решение нашей задачи представлено вот таким макросом, который создает набор данных (cache) для сводной таблицы, используя команду UNION языка запросов SQL. Эта команда объединяет таблицы со всех указанных в массиве SheetNames листов книги в единую таблицу данных. То есть вместо физического копирования-вставки диапазонов с разных листов на один мы делаем то же самое в оперативной памяти компьютера. Потом макрос добавляет новый лист с заданным именем (переменная ResultSheetName) и создает на нем полноценную(!) сводную на основе собранного кэша.
Чтобы воспользоваться макросом используйте кнопку Visual Basic на вкладке Разработчик (Developer) или сочетание клавиш Alt+F11. Затем вставляем новый пустой модуль через меню Insert — Module и копируем туда следующий код:
Sub New_Multi_Table_Pivot() Dim i As Long Dim arSQL() As String Dim objPivotCache As PivotCache Dim objRS As Object Dim ResultSheetName As String Dim SheetsNames As Variant 'имя листа, куда будет выводиться результирующая сводная ResultSheetName = "Сводная" 'массив имен листов с исходными таблицами SheetsNames = Array("Альфа", "Бета", "Гамма", "Дельта") 'формируем кэш по таблицам с листов из SheetsNames With ActiveWorkbook ReDim arSQL(1 To (UBound(SheetsNames) + 1)) For i = LBound(SheetsNames) To UBound(SheetsNames) arSQL(i + 1) = "SELECT * FROM [" & SheetsNames(i) & "$]" Next i Set objRS = CreateObject("ADODB.Recordset") objRS.Open Join$(arSQL, " UNION ALL "), _ Join$(Array("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=", _ .FullName, ";Extended Properties=""Excel 8.0;"""), vbNullString) End With 'создаем заново лист для вывода результирующей сводной таблицы On Error Resume Next Application.DisplayAlerts = False Worksheets(ResultSheetName).Delete Set wsPivot = Worksheets.Add wsPivot.Name = ResultSheetName 'выводим на этот лист сводную по сформированному кэшу Set objPivotCache = ActiveWorkbook.PivotCaches.Add(xlExternal) Set objPivotCache.Recordset = objRS Set objRS = Nothing With wsPivot objPivotCache.CreatePivotTable TableDestination:=wsPivot.Range("A3") Set objPivotCache = Nothing Range("A3").Select End With End Sub
Готовый макрос потом можно запустить сочетанием клавиш Alt+F8 или кнопкой Макросы на вкладке Разработчик (Developer — Macros).
Минусы такого подхода:
- Данные не обновляются, т.к. кэш не имеет связи с исходными таблицами. При изменении исходных данных надо запустить макрос еще раз и построить сводную заново.
- При изменении количества листов необходимо правки в код макроса (массив SheetNames).
Зато в итоге получаем самую настоящую полноценную сводную таблицу, построенную по нескольким диапазонам с разных листов:
Вуаля!
Техническое замечание: если при запуске макроса вы получаете сообщение об ошибке вида «Provider not registered», то скорее всего у вас 64-битная версия Excel или установлена не полная версия Office (нет Access). Чтобы исправить ситуацию замените в коде макроса фрагмент:
Provider=Microsoft.Jet.OLEDB.4.0;
на:
Provider=Microsoft.ACE.OLEDB.12.0;
И скачайте и установите бесплатный движок обработки данных из Access с сайта Microsoft — Microsoft Access Database Engine 2010 Redistributable
Способ 3. Мастер консолидации сводных таблиц из старых версий Excel
Этот способ немного устарел, но тоже стоит упоминания. Формально говоря, во всех версиях до 2003 включительно в мастере сводных таблиц была опция «построить сводную по нескольким диапазонам консолидации». Однако, отчет, построенный таким образом, к сожалению, будет лишь жалким подобием настоящей полноценной сводной и не поддерживает многие «фишки» обычных сводных таблиц:
В такой сводной нет заголовков столбцов в списке полей, нет гибкой настройки структуры, ограничен набор используемых функций и, в общем и целом, все это слабо похоже на сводную таблицу. Возможно именно поэтому начиная с 2007 года Microsoft эту функцию убрали из стандартного диалога при создании отчетов сводных таблиц. Теперь эта возможность доступна только через настраиваемую кнопку Мастер сводных таблиц (Pivot Table Wizard), которую при желании можно добавить на панель быстрого доступа через Файл — Параметры — Настройка панели быстрого доступа — Все команды (File — Options — Customize Quick Access Toolbar — All Commands):
После нажатия на добавленную кнопку нужно выбрать на первом шаге мастера соответствующую опцию:
А затем в следующем окне выделить по очереди каждый диапазон и добавить его в общий список:
Но, повторюсь, это не полноценная сводная, так что не ждите от нее слишком многого. Подобный вариант могу рекомендовать только в очень простых случаях.
Ссылки по теме
- Создание отчетов с помощью сводных таблиц
- Настройка вычислений в сводных таблицах
- Что такое макросы, как их использовать, куда копировать код на VBA и т.д.
- Сбор данных с нескольких листов на один (надстройка PLEX)
Helen Bradley рассказывает, как группировать данные в сводной таблице Excel для их дальнейшего обобщения и анализа.
- Группируем по значению
- Группируем по дате
- Группируем данные вручную
- Исправляем ошибки
- Детализация групп
- Группировка и несколько диапазонов консолидации
Группируем по значению
Представьте себе такую ситуацию: Вы анализируете подборку счетов, собранных в сводной таблице. Вы можете обобщать счета, объединяя их в группы по 5 — 10 или даже 100 счетов. Давайте рассмотрим пример, где идентификатор строки OrderID — это числовое поле. В данный момент каждому счёту соответствует отдельная строка, и результат получается довольно громоздким. Мы можем сгруппировать эти данные, чтобы упростить таблицу.
В этой сводной таблице каждый идентификатор OrderID представлен в отдельной строке. Такие данные можно считать обобщёнными, но нам этого недостаточно.
Для этого кликните правой кнопкой мыши по одному из OrderID данной сводной таблицы и в появившемся меню выберите Group (Группировать). Так как OrderID это числовое поле, то диалоговое окно уже будет подготовлено для численной группировки с полями Starting At (Начиная с), Ending At (По) и By (С шагом). В данной ситуации Excel предлагает Вам группировать элементы по 10 штук.
По умолчанию Excel предлагает в качестве значения Starting At (Начиная с) первый элемент OrderID: 10248. Тем не менее, Вы можете настроить точнее или создать другую группировку, установив собственное значение параметра Starting At (Начиная с). Чтобы начать с элемента 10240, введите это значение в поле Starting At (Начиная с) — Вы можете установить любое стартовое значение, даже такое, которого нет в данных.
Мы настраиваем параметры группировки данных — они будут сгруппированы по полю OrderID по десять последовательно пронумерованных заказов.
Итак, мы настроили значение Starting At (Начиная с), оставили значение Ending At (По) таким, как предложил Excel, и оставили значение By (С шагом) равным 10, поскольку оно нам подходит. Вы можете делать группы меньше или больше, изменяя это значение — например: 5, 20, 50 или 100. Теперь жмём ОК. Данные будут сгруппированы по значению OrderID в более удобные для обработки группы.
Вот так выглядят данные, сгруппированные по OrderID. Как видите, они значительно более обобщены, чем ранее.
Группируем по дате
Если данные, с которыми Вы работаете, являются датами, то Вы сможете использовать похожий приём. Чтобы сгруппировать информацию по датам, кликните правой кнопкой мыши по дате в столбце или строке Вашей сводной таблицы и выберите Group (Группировать). Вы можете выбрать шаг группировки — Seconds (Секунды), Minutes (Минуты), Hours (Часы), Days (Дни), Months (Месяцы), Quarters (Кварталы) или Years (Годы), и установить начальный и конечный момент времени. Для группировки по годам, кварталам и месяцам интервал зафиксирован равным 1, а для группировки по дням Вы можете установить собственный интервал, например, равный 7 дням, чтобы сгруппировать данные по неделям. Для этого выберите Days (Дни) как шаг группировки, установите количество дней равным 7, укажите для параметра Starting At (Начиная с) дату, которая выпадает на начало недели, и нажмите ОК. Информация будет сгруппирована по неделям.
Большой объём данных будет сгруппирован по неделям (по 7 дней), и первым днем выступит воскресенье — день недели, соответствующий дате, указанной в параметре Starting At (Начиная с).
Группируем данные вручную
Не всегда набор записей можно разделить по группам с такой же лёгкостью, как последовательность чисел или дат. Иногда группа становится группой просто потому, что Вы так решили. В этом случае можно создать свою собственную группировку. Откройте лист со сводной таблицей, кликните по первому элементу данных, который нужно включить в группу и далее, с нажатой клавишей Ctrl, последовательно щелкните по всем элементам, которые также нужно включить в эту группу. Затем на вкладке PivotTable / Options (Работа со сводными таблицами / Анализ) нажмите Group Selection (Группировка по выделенному) и элементы будут добавлены в новую группу. Таким же образом Вы можете выделить другие элементы и создать еще одну группу.
Выделив несколько полей, Вы можете объединить их в группы так, как будет удобно.
При помощи этого инструмента Вы можете группировать данные в небольшие подборки, с которыми удобно работать. Так как по умолчанию группы названы именами Group 1 (Группа 1) и Group 2 (Группа 2), Вам придётся самостоятельно переименовать их. Для этого кликните ячейку, содержащую имя группы, и в строке формул введите более подходящее имя для группы.
После того, как группы созданы, Вы вправе переименовывать их, как угодно.
Вы можете развернуть или свернуть группу, нажав символы плюс или минус (+/-) слева от имени группы.
Исправляем ошибки
Иногда, пытаясь сгруппировать выделенные данные, Вы получите сообщение об ошибке, уведомляющее, что выбранные данные не могут быть объединены в группу. Есть целый ряд причин, почему это может произойти. Одна из причин: если Вы пытаетесь создать собственную группировку, то должны выделить два или более элемента для создания группы — нельзя создать группу из одной записи.
Если у Вас есть пустые ячейки в тех полях, где должны быть даты или числа, то это тоже станет причиной сообщения об ошибке. Ошибка появится и в том случае, если вместо даты или числа в ячейке содержится текстовое значение. В каждом случае, проверьте исходные данные и исправьте ошибку, а затем обновите сводную таблицу и попытайтесь снова.
Детализация групп
Одним из преимуществ, которые даёт группировка данных, является то, что Вы можете извлечь подмножество сгруппированных данных на новый лист. Чтобы сделать это, выберите группу, и дважды щелкните по ячейке с интересующим Вас итоговым значением. Данные, из которых было собрано это итоговое значение, будут извлечены на новый лист текущей рабочей книги Excel.
Двойной щелчок мышью по любому значению в сводной таблице создаёт новый лист, содержащий все данные, относящиеся к этому значению.
Группировка и несколько диапазонов консолидации
Вы можете создавать группы в сводной таблице, которая собрана из нескольких консолидированных диапазонов, например, из данных на разных листах рабочей книги. Для этого в Excel 2007 и 2010 на Панель быстрого доступа необходимо добавить команду PivotTable and PivotChart Wizard (Мастер сводных таблиц и диаграмм).
Чтобы сделать это, кликните выпадающее меню Панели быстрого доступа, выберите пункт More Commands (Другие команды), в открывшемся диалоговом окне установите группу All Commands (Все команды) и в списке команд найдите PivotTable and PivotChart Wizard (Мастер сводных таблиц и диаграмм). Нажмите кнопку Add (Добавить), чтобы добавить кнопку на Панель быстрого доступа.
Теперь Вы можете создать сводную таблицу из нескольких диапазонов Excel с единообразной компоновкой данных. Вам понадобятся данные с одинаковым количеством столбцов, одинаковыми заголовками столбцов, при этом каждая таблица может иметь разное количество строк.
Эта команда исключена из меню Excel 2010, но Вы можете добавить её на Панель быстрого доступа самостоятельно.
Создайте новый лист в Вашей рабочей книге Excel, кликните только что добавленную кнопку PivotTable and PivotChart Wizard (Мастер сводных таблиц и диаграмм), выберите пункты Multiple Consolidation Ranges (В нескольких диапазонах консолидации) и PivotTable (Сводная таблица), а затем нажмите Next (Далее). Выберите I will create the page fields (Создать поля страницы) и снова нажмите Next (Далее). Теперь Вам нужно указать каждый из диапазонов. Зайдите на первый лист, выберите все данные, включая заголовки таблицы, и нажмите Add (Добавить). Повторите шаги, чтобы добавить информацию со следующего листа и так далее, пока не добавите данные со всех листов, которые планировали использовать в сводной таблице.
Мастер сводных таблиц и диаграмм позволяет объединять сразу несколько диапазонов в одной сводной таблице.
В Мастере сводных таблиц и диаграмм первым делом нужно выбрать, какие диапазоны данных будут использованы.
Далее укажите количество полей, которые нужно добавить в сводную таблицу — вероятнее всего, Вам понадобится одно или два. Теперь выберите один из диапазонов в поле немного выше и введите для него имя группы. Затем выберите следующий диапазон и проделайте для него те же самые шаги. И так далее для всех диапазонов. Если имя группы уже существует, Вы можете не вводить его, а выбрать из выпадающего списка.
Так, например, диапазон, содержащий даты, может быть частью группы, которая разделяет месяцы по кварталам, а также частью группы, которая разделяет месяцы по сезонам: Winter (Зима), Spring (Весна), Summer (Лето) и Fall (Осень). Группировки могут быть по любому признаку, который Вы посчитаете подходящим для своих данных. Нажмите Next (Далее), кликните по ячейке, в которой должен будет находиться верхний левый угол сводной таблицы и нажмите Finish (Готово).
В Мастере сводных таблиц и диаграмм Вы можете связать диапазоны со страницами, как показано на рисунке выше — Quarters (Кварталы) и Seasons (Сезоны).
Сводная таблица будет сформирована автоматически, группы будут созданы как поля Report Filter (Фильтры) в списке полей сводной таблицы, но Вы, если пожелаете, можете перетащить эти поля в область Row Labels (Строки) или Column Labels (Колонны).
На рисунке выше показано: мы переместили страницу Page 2 (Сезоны) из области Report Filter (Фильтры) в область Row Labels (Строки).
Группируете ли Вы данные в уже готовой сводной таблице или Вы делаете это вместе с созданием сводной таблицы из нескольких диапазонов — результат будет одинаковый, и это станет ещё одним полезным инструментом в Вашем арсенале для обобщения данных в сводных таблицах Excel.
Урок подготовлен для Вас командой сайта office-guru.ru Источник: https://www.ablebits.com/office-addins-blog/2011/10/06/excel-group-pivottable-data/ Перевел: Андрей Антонов Правила перепечатки Еще больше уроков по Microsoft Excel
Сводная таблица применяется для быстрого анализа большого объема данных. Она позволяет объединять информацию из разных таблиц и листов, подсчитать общий результат. Этот универсальный аналитический инструмент существенно расширяет возможности программы Excel.
Можно сформировать новые итоги по исходным параметрам, поменяв строки и столбцы местами. Можно произвести фильтрацию данных, показав разные элементы. А также наглядно детализировать область.
Сводная таблица в Excel
Для примера используем таблицу реализации товара в разных торговых филиалах.
Из таблички видно, в каком отделе, что, когда и на какую сумму было продано. Чтобы найти величину продаж по каждому отделу, придется посчитать вручную на калькуляторе. Либо сделать еще одну таблицу Excel, где посредством формул показать итоги. Такими методами анализировать информацию непродуктивно. Недолго и ошибиться.
Самое рациональное решение – это создание сводной таблицы в Excel:
- Выделяем ячейку А1, чтобы Excel знал, с какой информацией придется работать.
- В меню «Вставка» выбираем «Сводная таблица».
- Откроется меню «Создание сводной таблицы», где выбираем диапазон и указываем место. Так как мы установили курсор в ячейку с данными, поле диапазона заполнится автоматически. Если курсор стоит в пустой ячейке, необходимо прописать диапазон вручную. Сводную таблицу можно сделать на этом же листе или на другом. Если мы хотим, чтобы сводные данные были на существующей странице, не забывайте указывать для них место. На странице появляется следующая форма:
- Сформируем табличку, которая покажет сумму продаж по отделам. В списке полей сводной таблицы выбираем названия столбцов, которые нас интересуют. Получаем итоги по каждому отделу.
Просто, быстро и качественно.
Важные нюансы:
- Первая строка заданного для сведения данных диапазона должна быть заполнена.
- В базовой табличке каждый столбец должен иметь свой заголовок – проще настроить сводный отчет.
- В Excel в качестве источника информации можно использовать таблицы Access, SQL Server и др.
Как сделать сводную таблицу из нескольких таблиц
Часто требуется создавать сводные отчеты из нескольких таблиц. Есть пара табличек с информацией. Нужно объединить их в одну общую. Для науки придумаем остатки на складах в двух магазинах.
Порядок создания сводной таблицы из нескольких листов такой же.
Создадим отчет с помощью мастера сводных таблиц:
- Вызываем меню «Мастер сводных таблиц и диаграмм». Для этого щелкаем кнопку настройки панели быстрого доступа и нажимаем «Другие команды». Здесь на вкладке «Настройка» находим «Мастер сводных таблиц». Добавляем инструмент в панель быстрого доступа. После добавления:
- Ставим курсор на первую табличку и нажимаем инструмент «Мастера». В открывшемся окне отмечаем, что создать таблицу хотим в «нескольких диапазонах консолидации». То есть нам нужно объединить несколько мест с информацией. Вид отчета – «сводная таблица». «Далее».
- Следующий этап – «создать поля». «Далее».
- Прописываем диапазон данных, по которым будем формировать сводный отчет. Выделяем первый диапазон вместе с шапкой – «добавить». Второй диапазон вместе с названием столбцов – снова «добавить».
- Теперь в списке выбираем первый диапазон. Ставим птичку у единицы. Это первое поле сводного отчета. Даем ему имя – «Магазин 1». Выделяем второй диапазон данных – ставим птичку у цифры «2». Название поля – «Магазин 2». Нажимаем «Далее».
- Выбираем, где расположить сводную таблицу. На существующем листе или новом. Лучше выбрать новый лист, чтобы не было наложений и смещений. У нас получилось так:
Как видите всего в несколько кликов можно создавать сложные отчеты из нескольких листов или таблиц разного объема информации.
Как работать со сводными таблицами в Excel
Начнем с простейшего: добавления и удаления столбцов. Для примера рассмотрим сводную табличку продаж по разным отделам (см. выше).
Справа от сводной таблицы у нас была область задач, где мы выбирали столбцы в списке полей. Если она исчезла, просто щелкаем мышью по табличке.
Добавим в сводную таблицу еще одно поле для отчета. Для этого установим галочку напротив «Даты» (или напротив «Товара»). Отчет сразу меняется – появляется динамика продаж по дням в каждом отделе.
Сгруппируем данные в отчете по месяцам. Для этого щелкаем правой кнопкой мыши по полю «Дата». Нажимаем «Группировать». Выбираем «по месяцам». Получается сводная таблица такого вида:
Чтобы изменить параметры в сводной таблице, достаточно снять галочки напротив имеющихся полей строк и установить у других полей. Сделаем отчет по наименованиям товаров, а не по отделам.
А вот что получится, если мы уберем «дату» и добавим «отдел»:
А вот такой отчет можно сделать, если перетащить поля между разными областями:
Чтобы название строки сделать названием столбца, выбираем это название, щелкаем по всплывающему меню. Нажимаем «переместить в название столбцов». Таким способом мы переместили дату в столбцы.
Поле «Отдел» мы проставили перед наименованиями товаров. Воспользовавшись разделом меню «переместить в начало».
Покажем детали по конкретному продукту. На примере второй сводной таблицы, где отображены остатки на складах. Выделяем ячейку. Щелкаем правой кнопкой мыши – «развернуть».
В открывшемся меню выбираем поле с данными, которые необходимо показать.
Когда нажимаем на сводную таблицу, становится доступной закладка с параметрами отчета. С ее помощью можно менять заголовки, источники данных, группировать информацию.
Проверка правильности выставленных коммунальных счетов
С помощью сводных таблиц Excel легко проверить, насколько правильно обслуживающие организации начисляют квартплату. Другой положительный момент – экономия. Если мы будем ежемесячно контролировать, сколько расходуется света, газа, то сможем найти резерв для экономии средств на оплату квартиры.
Для начала предлагаем составить сводную таблицу тарифов по всем коммунальным платежам. Для разных городов данные будут свои.
Для примера мы сделали сводную табличку тарифов для Москвы:
Для учебных целей возьмем семью из 4 человек, которые проживают в квартире 60 кв. м. Чтобы контролировать коммунальные платежи, необходимо создать таблицы для расчета на каждый месяц.
Первый столбец = первому столбцу из сводной таблицы. Второй – формула для расчета вида:
= тариф * количество человек / показания счетчика / площадь
Для удобства рекомендуем сделать промежуточный столбец, в который будут заноситься показания по счетчикам (переменная составляющая).
Наши формулы ссылаются на лист, где расположена сводная таблица с тарифами.
Скачать все примеры сводной таблицы
Если при расчете коммунальных платежей применяются льготы, их тоже можно внести в формулы. Информацию по начислениям требуйте в бухгалтерии своей обслуживающей организации. Когда меняются тарифы – просто измените данные в ячейках.